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

    文章

    188

    浏览量

    33084
  • 应用程序
    +关注

    关注

    37

    文章

    3268

    浏览量

    57704
收藏 人收藏

    评论

    相关推荐

    自动化创建UI并解析数据

    *附件:32960_auto.rar备注:Main.vi是ui自动化2.1.vi,配置文件为32960.B.ini。 目前可以实现根据配置文件自动化创建控件并布局,且可以自动解析接收到的数据内容写入
    发表于 12-10 08:41

    Firefox、Chrome和Puppeteer已支持WebDriver BiDi

    近期,我们与 BrowserStack 一起见证了 WebDriver BiDi 在 BrowserStack 中正式投入使用。并且 WebDriver BiDi 也继续得到了完善,Firefox
    的头像 发表于 11-06 16:35 406次阅读

    TPS65987D和TPS65988用户交替模式

    电子发烧友网站提供《TPS65987D和TPS65988用户交替模式.pdf》资料免费下载
    发表于 09-29 11:00 1次下载
    TPS65987D和TPS65988用户<b class='flag-5'>交替</b>模式

    VA段码COG液晶屏可个性化灵活设计UI,实现创意UI的高对比高亮多色彩炫酷显示。

    VA段码COG液晶屏可个性化灵活设计UI,实现创意UI的高对比高亮多色彩炫酷显示。
    的头像 发表于 07-11 10:50 558次阅读
    VA段码COG液晶屏可个性化灵活设计<b class='flag-5'>UI</b>,实现创意<b class='flag-5'>UI</b>的高对比高亮多色彩炫酷显示。

    微软调整Copilot Pro服务,移除GPT Builder功能

    微软近日宣布,将于7月10日对其备受瞩目的Copilot Pro服务进行调整,正式移除GPT Builder功能。这项决策距离GPT Builder的发布仅仅过去了短短三个月时间,引起了业界的广泛关注。
    的头像 发表于 06-15 09:41 482次阅读

    鸿蒙ArkUI:【从代码到UI显示的整体渲染流程】

    方舟开发框架(简称ArkUI)是鸿蒙开发的UI框架,提供如下两种开发范式,我们 **只学声明式开发范式**
    的头像 发表于 05-13 16:06 922次阅读
    鸿蒙ArkUI:【从代码到<b class='flag-5'>UI</b>显示的整体渲染流程】

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

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

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

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

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

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

    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 672次阅读

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

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

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

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

    基于TouchGFX的智能手表设计 —底层驱动与 UI 进行关联

    电子发烧友网站提供《基于TouchGFX的智能手表设计 —底层驱动与 UI 进行关联.pdf》资料免费下载
    发表于 01-05 11:22 2次下载

    基于 TouchGFX 的智能手表设计—Designer 软件 UI 设计

    电子发烧友网站提供《基于 TouchGFX 的智能手表设计—Designer 软件 UI 设计.pdf》资料免费下载
    发表于 01-05 11:06 0次下载

    红绿蓝交替变化的原理

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