Firefox UI已使用Web Components构建


Mozilla开发人员Brian Grinstead在博客上宣布,经过多年的努力,几周前他从Firefox UI中删除了XBL,这意味着将Firefox UI迁移到使用Web Components构建的项目中已经完成。

XBL是一种基于XML的语言,您可以在其中实现附加到DOM元素的“绑定”。然后,您可以将自定义JS属性和匿名内容添加到常规元素。它是在90年代末期在Netscape上设计和构建的,它具有许多其他“ XUL”功能,使您可以在Web平台添加类似功能之前很长时间构建桌面Web应用程序。

Mozilla Firefox 70现在可用于所有受支持的Ubuntu Linux版本

我们可以将Firefox UI视为一个非常大的单页应用程序,最初是使用DOM和JS构建的,与20年前的本机应用程序相比,它的技术选择是大胆的。这也是因为Mozilla过于先进,因此在构建复杂的Web应用程序所需的某些功能在Web平台尚未支持它们之前就已实现。将来,这些功能也在不断发展,以标准化CSS flexbox和Web Components等标准。

在新的和旧的时刻,让现有代码库继续使用原始版本并要求平台同时支持这两个版本无疑是最容易的。毕竟,重写旧代码非常困难且成本很高。即便如此,Mozilla还是选择在Firefox中实现Web组件,并且他们启动了一个“并行”项目,该团队迁移了现有的UI组件以使用它们。他们以“增量更新”的方式进行此操作,以使每个单独的更改同时保持Firefox的正常运行,而不是从头开始创建分支来重写UI。

Brian认为这是一项重大成就,它还对底层Firefox进行了改进,并使团队能够专注于现代Web标准,并消除了许多未公开的重复性和复杂功能。

关于使用Web Components的原因,Brian说,由于XBL存在问题,该团队多年来一直在讨论如何删除XBL。但是该项目看起来非常大,而且似乎需要从头开始重写Firefox UI,因此它无法有效地促进该项目的进展。然后,团队进行了“设计审查”,并提议启动“并行项目”计划,以通过“增量更新”实现迁移的目标。由于模型非常相似,因此开发人员可以在迁移元素时做出合理的选择,以尽可能地保持API兼容性。

linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx

本文永久更新链接地址:https://www.linuxboy.net/Linux/2019-11/161501.htm

相关内容

    暂无相关文章