0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

新老交替,F(xiàn)irefox UI的XBL移除

汽車玩家 ? 來源:開源中國(guó) ? 作者:局長(zhǎng) ? 2019-11-22 10:57 ? 次閱讀

Mozilla開發(fā)者Brian Grinstead在博客宣布,經(jīng)過多年的努力,他已在幾個(gè)星期前從Firefox UI中移除了XBL,亦即意味著將Firefox UI遷移至使用Web Components構(gòu)建的工程已完成。

XBL是一種基于XML的語言,當(dāng)我們要實(shí)現(xiàn)附加到DOM元素的“綁定”就需要使用XBL。然后,我們還可以將自定義JS屬性和匿名內(nèi)容添加到常規(guī)元素。XBL是在90年代末期為NetScape設(shè)計(jì)和構(gòu)建的,除了XBL,還有許多其他的“XUL”特性可幫助我們構(gòu)建桌面Web應(yīng)用——比Web平臺(tái)提供相似的功能早得多。

Firefox大約有300個(gè)XBL綁定和50000行相關(guān)代碼,主要都是被比較小型的部件使用(如),以及用于管理應(yīng)用程序(如,它通過管理標(biāo)簽在瀏覽器窗口中控制大部分狀態(tài),以及從內(nèi)容頁面接收消息等)。

我們可以將Firefox UI看作是一個(gè)非常大型的單頁應(yīng)用程序,最初采用DOM和JS構(gòu)建,相對(duì)于20多年前的原生應(yīng)用,它的技術(shù)選型十分大膽。也正因?yàn)镸ozilla走得太超前,所以在Web平臺(tái)尚未支持它們之前就自己實(shí)現(xiàn)了構(gòu)建復(fù)雜Web應(yīng)用所需的部分特性。這些特性在日后也逐漸演變成像CSS flexbox和Web Components這樣的標(biāo)準(zhǔn)規(guī)范。

處于這種新老交替的時(shí)刻,讓現(xiàn)有代碼庫繼續(xù)使用原版本,并要求平臺(tái)同時(shí)支持兩者當(dāng)然是最容易的,畢竟對(duì)舊代碼進(jìn)行重寫十分困難而且成本巨大。

然而即便如此,Mozilla還是選擇在Firefox中實(shí)現(xiàn)Web Components,他們啟動(dòng)了一個(gè)“并行”項(xiàng)目,在該項(xiàng)目中,團(tuán)隊(duì)將遷移現(xiàn)有的UI組件以使用它們。他們以“增量更新”的方式進(jìn)行此操作,以便在保證Firefox正常運(yùn)行的同時(shí)進(jìn)行每個(gè)獨(dú)立的更改,而不是從頭開始創(chuàng)建一個(gè)分支來重寫UI。

Brian認(rèn)為這是一項(xiàng)重大的成就,也給Firefox的底層提供了改進(jìn),還允許團(tuán)隊(duì)可以將精力集中在現(xiàn)代Web標(biāo)準(zhǔn)上,并移除沒有對(duì)外公開的大量重復(fù)和復(fù)雜的功能。

至于為什么要使用Web Components,Brian表示由于XBL存在的問題,多年來團(tuán)隊(duì)一直在討論移除XBL。但這項(xiàng)工程似乎十分龐大,并且看起來好像需要從頭開始重寫Firefox UI,所以一直沒能有效推動(dòng)項(xiàng)目的進(jìn)展。后來團(tuán)隊(duì)進(jìn)行了“設(shè)計(jì)審查”,并提議啟動(dòng)“并行項(xiàng)目”計(jì)劃,以實(shí)現(xiàn)采用“增量更新”的方式實(shí)現(xiàn)遷移的目標(biāo)。由于兩者的模型非常相似,因此開發(fā)者在遷移元素時(shí)能做出合理的選擇,以盡可能保持API的兼容性。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • XML
    XML
    +關(guān)注

    關(guān)注

    0

    文章

    188

    瀏覽量

    33102
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    37

    文章

    3279

    瀏覽量

    57741
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    自動(dòng)化創(chuàng)建UI并解析數(shù)據(jù)

    *附件:32960_auto.rar備注:Main.vi是ui自動(dòng)化2.1.vi,配置文件為32960.B.ini。 目前可以實(shí)現(xiàn)根據(jù)配置文件自動(dòng)化創(chuàng)建控件并布局,且可以自動(dòng)解析接收到的數(shù)據(jù)內(nèi)容寫入
    發(fā)表于 12-10 08:41

    自動(dòng)化創(chuàng)建UI并解析數(shù)據(jù)

    Labview實(shí)現(xiàn)動(dòng)態(tài)增加控件效果 - *附件:32960_auto.rar 備注:Main.vi是ui自動(dòng)化2.1.vi,配置文件為32960.B.ini。 目前可以實(shí)現(xiàn)根據(jù)配置文件自動(dòng)化創(chuàng)建控件
    發(fā)表于 11-29 11:26

    Firefox、Chrome和Puppeteer已支持WebDriver BiDi

    近期,我們與 BrowserStack 一起見證了 WebDriver BiDi 在 BrowserStack 中正式投入使用。并且 WebDriver BiDi 也繼續(xù)得到了完善,Firefox
    的頭像 發(fā)表于 11-06 16:35 ?453次閱讀

    TPS65987D和TPS65988用戶交替模式

    電子發(fā)燒友網(wǎng)站提供《TPS65987D和TPS65988用戶交替模式.pdf》資料免費(fèi)下載
    發(fā)表于 09-29 11:00 ?1次下載
    TPS65987D和TPS65988用戶<b class='flag-5'>交替</b>模式

    智能傳感器改變歐洲杯,讓現(xiàn)代足球更智能

    頻出的小組賽,刺激緊張的淘汰賽,西班牙與英格蘭的決賽大戰(zhàn) ,也即將打響,你更支持那支隊(duì)伍呢, 是新老交替完成攻守均衡的斗牛士,還是群星閃耀的三獅軍團(tuán) ,不過要要說的是,肯定有細(xì)心的球迷們發(fā)現(xiàn),現(xiàn)代足球與之前有著很多
    的頭像 發(fā)表于 07-12 09:45 ?1946次閱讀
    智能傳感器改變歐洲杯,讓現(xiàn)代足球更智能

    VA段碼COG液晶屏可個(gè)性化靈活設(shè)計(jì)UI,實(shí)現(xiàn)創(chuàng)意UI的高對(duì)比高亮多色彩炫酷顯示。

    VA段碼COG液晶屏可個(gè)性化靈活設(shè)計(jì)UI,實(shí)現(xiàn)創(chuàng)意UI的高對(duì)比高亮多色彩炫酷顯示。
    的頭像 發(fā)表于 07-11 10:50 ?580次閱讀
    VA段碼COG液晶屏可個(gè)性化靈活設(shè)計(jì)<b class='flag-5'>UI</b>,實(shí)現(xiàn)創(chuàng)意<b class='flag-5'>UI</b>的高對(duì)比高亮多色彩炫酷顯示。

    微軟調(diào)整Copilot Pro服務(wù),移除GPT Builder功能

    微軟近日宣布,將于7月10日對(duì)其備受矚目的Copilot Pro服務(wù)進(jìn)行調(diào)整,正式移除GPT Builder功能。這項(xiàng)決策距離GPT Builder的發(fā)布僅僅過去了短短三個(gè)月時(shí)間,引起了業(yè)界的廣泛關(guān)注。
    的頭像 發(fā)表于 06-15 09:41 ?491次閱讀

    Mozilla啟動(dòng)安卓版火狐Firefox瀏覽器性能調(diào)查程序

    來自用戶的反饋顯示,安卓版 Firefox 瀏覽器啟用遙感測(cè)量后,可能會(huì)影響網(wǎng)站加載和瀏覽器啟動(dòng)速度。以 CNN 網(wǎng)站為例,測(cè)試數(shù)據(jù)表明,啟用遙感測(cè)量后,CPU 加載頁面的時(shí)間延長(zhǎng)了 16.5 秒。
    的頭像 發(fā)表于 05-31 10:02 ?519次閱讀

    鴻蒙ArkUI:【從代碼到UI顯示的整體渲染流程】

    方舟開發(fā)框架(簡(jiǎn)稱ArkUI)是鴻蒙開發(fā)的UI框架,提供如下兩種開發(fā)范式,我們 **只學(xué)聲明式開發(fā)范式**
    的頭像 發(fā)表于 05-13 16:06 ?950次閱讀
    鴻蒙ArkUI:【從代碼到<b class='flag-5'>UI</b>顯示的整體渲染流程】

    Mozilla撤銷Firefox 125更新中安全改進(jìn)

    Firefox 125穩(wěn)定版致力于改良底層代碼,以期更有效地防止用戶訪問可疑URL地址。其官方描述為:“擴(kuò)展下載保護(hù)得到加強(qiáng),能夠更加積極地阻止來自高風(fēng)險(xiǎn)URL的下載?!?/div>
    的頭像 發(fā)表于 04-23 11:44 ?429次閱讀

    Firefox Nightly新增原生垂直標(biāo)簽特性

    近日,基于Mozilla旗下的Firefox瀏覽器用戶向來期望其能集成垂直標(biāo)簽頁功能,這一愿景在Mozilla Connect頁面被熱烈討論,迫切欲望僅次于原生標(biāo)簽分組功能以及恢復(fù)對(duì)PWA應(yīng)用的支持。
    的頭像 發(fā)表于 04-03 14:43 ?838次閱讀

    Mozilla重啟Firefox原生標(biāo)簽頁組研發(fā)?

    查閱IT之家2015年報(bào)導(dǎo)顯示,早在2009年,Firefox即開始提供一款名為Panorama的標(biāo)簽頁組功能。然而,根據(jù)Mozilla的數(shù)據(jù)分析,這一功能的實(shí)際使用率僅為萬分之一,故而在2016年被去除,Mozilla當(dāng)時(shí)推薦用戶使用第三方插件予以代替。
    的頭像 發(fā)表于 03-19 14:16 ?373次閱讀

    Mozilla發(fā)布Firefox 123.0穩(wěn)定版,新添網(wǎng)站兼容性報(bào)告工具

    2023年2月20日,Mozilla發(fā)布Firefox 123.0穩(wěn)定版及115.9 ESR版本,并更迭Beta、Dev、Nightly三個(gè)開發(fā)頻道版本至124、125;手機(jī)版Firefox亦升級(jí)到123.0。
    的頭像 發(fā)表于 02-20 15:45 ?689次閱讀

    鴻蒙實(shí)戰(zhàn)開發(fā)-全局UI方法的功能

    使用全局UI的方法定義日期滑動(dòng)選擇器彈窗并彈出。
    的頭像 發(fā)表于 02-02 17:13 ?625次閱讀
    鴻蒙實(shí)戰(zhàn)開發(fā)-全局<b class='flag-5'>UI</b>方法的功能

    Firefox長(zhǎng)達(dá)21年的 “陳年老bug”,終于被修復(fù)了!

    Firefox 的工單記錄頁面顯示,一個(gè)在 21 年前發(fā)現(xiàn)的 bug 終于被修復(fù)了。
    的頭像 發(fā)表于 01-25 11:08 ?420次閱讀
    <b class='flag-5'>Firefox</b>長(zhǎng)達(dá)21年的 “陳年老bug”,終于被修復(fù)了!