综合自:solidot、https://briangrinstead.com/blog/firefox-webcomponents/
Mozilla开发者Brian Grinstead 宣布Firefox UI现在由Web Components构建,移除了XBL。Firefox UI一开始是用DOM和JS构建的,在20多年前它们对原生应用而言是大胆的新技术。
那么,什么是XBL?
XBL 是一种基于 XML 的语言,当我们要实现附加到 DOM 元素的“绑定”就需要使用 XBL。然后,我们还可以将自定义 JS 属性和匿名内容添加到常规元素。XBL 是在90年代末期为 NetScape 设计和构建的,除了 XBL,还有许多其他的“XUL”特性可帮助我们构建桌面 Web 应用 —— 比 Web 平台提供相似的功能早得多。
Firefox 大约有 300 个 XBL 绑定和 50000 行相关代码,主要都是被比较小型的部件使用(如<toolbarbutton label="Reload" />),以及用于管理应用程序(如<tabbrowser />,它通过管理标签在浏览器窗口中控制大部分状态,以及从内容页面接收消息等)。
XBL为该项目提供了良好的服务,并且在近二十年的时间里构建了Firefox,随着时间的推移,该实现几乎不需要进行任何更改。但也带来许多问题:
在Firefox的UI中,很难通过绑定生命周期来调试复杂性,而且很少有人知道它是如何工作的。
它在框架构造,样式系统和DOM实现中为该平台增加了极大的复杂性。
当这一切发生时,允许现有代码库使用原版本要求平台同时支持两者当然是最容易的事情,毕竟重写旧代码既困难也不划算。
最后,Firefox决定实现Web Components并移植现有的UI组件,它采用了渐进的方式,耗时两年终于完成。这一成绩将允许Mozilla专注于现代Web标准,移除大量重复而复杂的功能。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/755/viewspace-3140556/ ,如需转载,请注明出处,否则将追究法律责任。