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

    浏览量

    34391
  • 应用程序
    +关注

    关注

    38

    文章

    3342

    浏览量

    59926
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FAQ_MA35D1移除RTC时,时钟仍在运行是怎么回事?

    FAQ_MA35D1移除RTC时,时钟仍在运行是怎么回事?
    发表于 09-03 08:13

    如何移除意外添加到项目中或不再需要的板级标注

    在原理图文档中调用 Board Level Annotation Command 时,项目目录中会创建一个特殊文件,文件名包含项目名称及 .ANNOTATION 扩展名。此文件一旦创建,会影响标识符的显示和处理方式。目前无法通过自动化方式移除该文件,本文将向您展示如何手动移除
    的头像 发表于 08-25 11:11 955次阅读

    芯伯乐XBL4001 40V/5A降压型DCDC电源芯片推荐

    在电子设备不断追求高性能与低功耗的今天,电源管理芯片的重要性不言而喻。芯伯乐主推的XBLW-XBL4001芯片,凭借其出色的设计与稳定的性能,为电源管理领域带来了一款实用的新选择。一、芯片概述
    的头像 发表于 06-30 18:34 1013次阅读
    芯伯乐<b class='flag-5'>XBL</b>4001 40V/5A降压型DCDC电源芯片推荐

    芯伯乐XBL6019 60V/5A DC-DC升压芯片的优质选择

    PART01芯片概述在电子电路设计领域,芯伯乐推出的XBL6019芯片以其优异的性能和广泛的应用范围受到广泛关注。芯伯乐XBL6019是一款专为升压(boost)、反激(flyback)和正激
    的头像 发表于 06-30 18:34 786次阅读
    芯伯乐<b class='flag-5'>XBL</b>6019 60V/5A DC-DC升压芯片的优质选择

    UI开发概述

    基于ArkTS的声明式开发范式的方舟开发框架是一套开发极简、高性能、支持跨设备的UI开发框架,提供了构建应用UI所必需的能力,主要包括: ArkTS ArkTS是优选的主力应用开发语言,围绕
    发表于 06-24 06:36

    使用 ai cude 里面自带的案例训练UI显示异常的原因?怎么解决?

    案例的配置是默认的,显示训练ui更改显示异常
    发表于 06-23 06:21

    【AIBOX 应用案例】通过 U²-Net 实现背景移除

    设计,高效散热,保障在高温运行状态下的运算性能和稳定性,满足各种工业级的应用需求。应用案例:背景移除BackgroundRemoval(背景移除)技术已成为图像处理
    的头像 发表于 06-11 16:32 504次阅读
    【AIBOX 应用案例】通过 U²-Net 实现背景<b class='flag-5'>移除</b>

    芯伯乐XBL6501/02/03在POE设备上的应用方案

    文章前言:在当今数字化时代,POE(PoweroverEthernet)设备因其能够通过以太网线同时传输数据和电力而被广泛应用。为了满足这些设备日益增长的电源需求,芯伯乐推出了XBL6501/02
    的头像 发表于 05-09 19:05 673次阅读
    芯伯乐<b class='flag-5'>XBL</b>6501/02/03在POE设备上的应用方案

    RV1126 实现简单的UI开发示例

    在RV1126上实现简单的UI开发实例
    的头像 发表于 04-09 16:08 899次阅读
    RV1126 实现简单的<b class='flag-5'>UI</b>开发示例

    芯伯乐XBL4501/02/03:40V/5A中高压大电流高效降压型DC-DC转换器的卓越之选

    文章前言在现代电子设备中,高效的电源管理是确保设备性能与可靠性的关键因素之一。芯伯乐推出的XBL4501/02/03作为一款高性能的中高压降压型DC-DC转换器,凭借其出色的设计与丰富的功能,为众多
    的头像 发表于 03-24 09:04 937次阅读
    芯伯乐<b class='flag-5'>XBL</b>4501/02/03:40V/5A中高压大电流高效降压型DC-DC转换器的卓越之选

    芯伯乐60V/5A高压大电流DC-DC电源芯片:XBL65系列高效稳定的电源转换解决方案

    ~60V输出5A大电流性能卓越的DC-DC电源芯片——XBL65系列。NO.2XBL65系列芯片概述XBL65系列共推出了三款芯片,分别为采用TO-220-5/T
    的头像 发表于 03-10 09:05 1481次阅读
    芯伯乐60V/5A高压大电流DC-DC电源芯片:<b class='flag-5'>XBL</b>65系列高效稳定的电源转换解决方案

    第二篇 RA8889 实现酷炫车载液晶仪表系列视频: UI类界面介绍

    本系列文章介绍 RA8889 实现液晶仪表HMI UI界面,分为两大部分来介绍,本期介绍如何制作UI类界面,其中包括使用PS软件制作静态类UI界面,Ae软件制作动态类的UI:指针转动的
    的头像 发表于 02-25 15:27 889次阅读
    第二篇 RA8889 实现酷炫车载液晶仪表系列视频: <b class='flag-5'>UI</b>类界面介绍

    【产品推介】可驱动5A负载的降压型DC/DC转换器XBL1663

    一、产品简介采用ESOP-8封装的XBL1663最大可输出5A电流芯伯乐XBL1663是一款专为降压型DC/DC转换器设计的单片集成电路,具有高转换效率、恒定开关频率工作的特点。内置功率MOSFET
    的头像 发表于 02-14 18:32 752次阅读
    【产品推介】可驱动5A负载的降压型DC/DC转换器<b class='flag-5'>XBL</b>1663

    大彩VisualTFT智能家居UI案例

                   一、适合范围                     适合全系列480*480大彩串口屏产品               二、UI展示         
    发表于 02-14 16:32 1次下载

    自动化创建UI并解析数据

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