0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

新老交替,Firefox UI的XBL移除

汽车玩家 来源:开源中国 作者:局长 2019-11-22 10:57 次阅读

Mozilla开发者Brian Grinstead在博客宣布,经过多年的努力,他已在几个星期前从Firefox UI中移除了XBL,亦即意味着将Firefox UI迁移至使用Web Components构建的工程已完成。

XBL是一种基于XML的语言,当我们要实现附加到DOM元素的“绑定”就需要使用XBL。然后,我们还可以将自定义JS属性和匿名内容添加到常规元素。XBL是在90年代末期为NetScape设计和构建的,除了XBL,还有许多其他的“XUL”特性可帮助我们构建桌面Web应用——比Web平台提供相似的功能早得多。

Firefox大约有300个XBL绑定和50000行相关代码,主要都是被比较小型的部件使用(如),以及用于管理应用程序(如,它通过管理标签在浏览器窗口中控制大部分状态,以及从内容页面接收消息等)。

我们可以将Firefox UI看作是一个非常大型的单页应用程序,最初采用DOM和JS构建,相对于20多年前的原生应用,它的技术选型十分大胆。也正因为Mozilla走得太超前,所以在Web平台尚未支持它们之前就自己实现了构建复杂Web应用所需的部分特性。这些特性在日后也逐渐演变成像CSS flexbox和Web Components这样的标准规范。

处于这种新老交替的时刻,让现有代码库继续使用原版本,并要求平台同时支持两者当然是最容易的,毕竟对旧代码进行重写十分困难而且成本巨大。

然而即便如此,Mozilla还是选择在Firefox中实现Web Components,他们启动了一个“并行”项目,在该项目中,团队将迁移现有的UI组件以使用它们。他们以“增量更新”的方式进行此操作,以便在保证Firefox正常运行的同时进行每个独立的更改,而不是从头开始创建一个分支来重写UI。

Brian认为这是一项重大的成就,也给Firefox的底层提供了改进,还允许团队可以将精力集中在现代Web标准上,并移除没有对外公开的大量重复和复杂的功能。

至于为什么要使用Web Components,Brian表示由于XBL存在的问题,多年来团队一直在讨论移除XBL。但这项工程似乎十分庞大,并且看起来好像需要从头开始重写Firefox UI,所以一直没能有效推动项目的进展。后来团队进行了“设计审查”,并提议启动“并行项目”计划,以实现采用“增量更新”的方式实现迁移的目标。由于两者的模型非常相似,因此开发者在迁移元素时能做出合理的选择,以尽可能保持API的兼容性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • XML
    XML
    +关注

    关注

    0

    文章

    183

    浏览量

    32936
  • 应用程序
    +关注

    关注

    37

    文章

    3136

    浏览量

    56389
收藏 人收藏

    评论

    相关推荐

    Mozilla撤销Firefox 125更新中安全改进

    Firefox 125稳定版致力于改良底层代码,以期更有效地防止用户访问可疑URL地址。其官方描述为:“扩展下载保护得到加强,能够更加积极地阻止来自高风险URL的下载。”
    的头像 发表于 04-23 11:44 62次阅读

    Firefox Nightly新增原生垂直标签特性

    近日,基于Mozilla旗下的Firefox浏览器用户向来期望其能集成垂直标签页功能,这一愿景在Mozilla Connect页面被热烈讨论,迫切欲望仅次于原生标签分组功能以及恢复对PWA应用的支持。
    的头像 发表于 04-03 14:43 339次阅读

    Mozilla重启Firefox原生标签页组研发 

    查阅IT之家2015年报导显示,早在2009年,Firefox即开始提供一款名为Panorama的标签页组功能。然而,根据Mozilla的数据分析,这一功能的实际使用率仅为万分之一,故而在2016年被去除,Mozilla当时推荐用户使用第三方插件予以代替。
    的头像 发表于 03-19 14:16 97次阅读

    Mozilla发布Firefox 123.0稳定版,新添网站兼容性报告工具

    2023年2月20日,Mozilla发布Firefox 123.0稳定版及115.9 ESR版本,并更迭Beta、Dev、Nightly三个开发频道版本至124、125;手机版Firefox亦升级到123.0。
    的头像 发表于 02-20 15:45 202次阅读

    鸿蒙实战开发-全局UI方法的功能

    使用全局UI的方法定义日期滑动选择器弹窗并弹出。
    的头像 发表于 02-02 17:13 198次阅读
    鸿蒙实战开发-全局<b class='flag-5'>UI</b>方法的功能

    Firefox长达21年的 “陈年老bug”,终于被修复了!

    Firefox 的工单记录页面显示,一个在 21 年前发现的 bug 终于被修复了。
    的头像 发表于 01-25 11:08 164次阅读
    <b class='flag-5'>Firefox</b>长达21年的 “陈年老bug”,终于被修复了!

    红绿蓝交替变化的原理

    红绿蓝交替变化是指通过控制红、绿、蓝三原色的不同亮度和混合比例,来呈现出各种不同的颜色效果。这种变化在许多领域都有应用,包括电子显示、照明设计、艺术创作等等。下面将详细介绍红绿蓝交替变化
    的头像 发表于 01-04 09:24 378次阅读

    Mozilla Firefox开发将完全转向Git,放弃Mercurial

    目前相关事项仍在规划中,预计至少六个月后才会开始全面的 Git 过渡。过渡完成后,Mercurial 将从 Firefox 开发工作流程中完全淘汰。
    的头像 发表于 11-23 16:08 287次阅读
    Mozilla <b class='flag-5'>Firefox</b>开发将完全转向Git,放弃Mercurial

    Firefox Android版扩展支持即将推出

    事实上,早在 2019 年 Firefox 移动产品战略负责人 Vesta Zare 就曾提出有关移动版扩展的想法。但因为安全等方面的担忧,导致进展缓慢。现如今,Firefox 扩展程序的编辑部经理 Scott DeVaney 认为,预计用户将对此产生浓厚的兴趣。
    的头像 发表于 11-08 17:04 443次阅读
    <b class='flag-5'>Firefox</b> Android版扩展支持即将推出

    现在,使用Mozilla Firefox的理由又增加了一条!

    的确是的,就以市场份额来说,谷歌 Chrome 占据了 63.56%,而 Firefox 用户仅占据了 2.94% —— 这是来自 StatCountergs.statcounter.com 的统计数据。
    的头像 发表于 10-17 15:59 286次阅读
    现在,使用Mozilla <b class='flag-5'>Firefox</b>的理由又增加了一条!

    TMSVCL UI Pack v13.0的新特性

    在这篇文章中,我们想给你介绍一下TMSVCL UI Pack v13.0的新特性。
    的头像 发表于 09-27 11:13 885次阅读
    TMSVCL <b class='flag-5'>UI</b> Pack v13.0的新特性

    鸿蒙应用ui布局

    请问,在用java开发鸿蒙应用布局UI时,怎么才能全屏布局(不显示labelb标题)
    发表于 09-20 22:09

    特斯拉Model3或移除所有雷达

    特斯拉Model3或移除所有雷达 特斯拉为了降成本抢市场,当然或者是也有其他的考量,特斯拉Model3或移除所有雷达。 网上有爆料消息称特斯拉新款Model 3已经结束“试生产阶段”,9月份预计日产
    的头像 发表于 08-21 17:37 1094次阅读

    Google在一个函数中放入2万个变量引发Firefox大崩溃

    近日,Mozilla 检测到 Firefox 出现了大量崩溃事件,这个问题主要发生在使用 Linux 系统的用户身上,尤其是使用基于旧版本 Debian 的 Linux 系统上。
    的头像 发表于 06-26 16:58 405次阅读
    Google在一个函数中放入2万个变量引发<b class='flag-5'>Firefox</b>大崩溃

    使用yocto构建Firefox Web浏览器报错怎么处理?

    我正在尝试使用 yocto 为 im8m mini 构建 firefox。 MACHINE ??= \'imx8mm-lpddr4-evk\' 发行版 ?= \'fsl-imx-xwayland
    发表于 06-02 08:42