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

    文章

    186

    瀏覽量

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

    關(guān)注

    37

    文章

    3226

    瀏覽量

    57509
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TPS65987D和TPS65988用戶交替模式

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

    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 ?391次閱讀
    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 ?404次閱讀

    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 ?334次閱讀

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

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

    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 ?282次閱讀

    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 ?555次閱讀

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

    使用全局UI的方法定義日期滑動(dòng)選擇器彈窗并彈出。
    的頭像 發(fā)表于 02-02 17:13 ?507次閱讀
    鴻蒙實(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 ?338次閱讀
    <b class='flag-5'>Firefox</b>長(zhǎng)達(dá)21年的 “陳年老bug”,終于被修復(fù)了!

    基于TouchGFX的智能手表設(shè)計(jì) —底層驅(qū)動(dòng)與 UI 進(jìn)行關(guān)聯(lián)

    電子發(fā)燒友網(wǎng)站提供《基于TouchGFX的智能手表設(shè)計(jì) —底層驅(qū)動(dòng)與 UI 進(jìn)行關(guān)聯(lián).pdf》資料免費(fèi)下載
    發(fā)表于 01-05 11:22 ?2次下載

    基于 TouchGFX 的智能手表設(shè)計(jì)—Designer 軟件 UI 設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于 TouchGFX 的智能手表設(shè)計(jì)—Designer 軟件 UI 設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 01-05 11:06 ?0次下載

    紅綠藍(lán)交替變化的原理

    紅綠藍(lán)交替變化是指通過控制紅、綠、藍(lán)三原色的不同亮度和混合比例,來呈現(xiàn)出各種不同的顏色效果。這種變化在許多領(lǐng)域都有應(yīng)用,包括電子顯示、照明設(shè)計(jì)、藝術(shù)創(chuàng)作等等。下面將詳細(xì)介紹紅綠藍(lán)交替變化
    的頭像 發(fā)表于 01-04 09:24 ?1004次閱讀

    印刷電路板 (PCB) 移除塑封球柵陣列封裝 (PBGA) 的建議程序

    電子發(fā)燒友網(wǎng)站提供《印刷電路板 (PCB) 移除塑封球柵陣列封裝 (PBGA) 的建議程序.pdf》資料免費(fèi)下載
    發(fā)表于 11-27 11:42 ?0次下載
    印刷電路板 (PCB) <b class='flag-5'>移除</b>塑封球柵陣列封裝 (PBGA) 的建議程序

    Mozilla Firefox開發(fā)將完全轉(zhuǎn)向Git,放棄Mercurial

    目前相關(guān)事項(xiàng)仍在規(guī)劃中,預(yù)計(jì)至少六個(gè)月后才會(huì)開始全面的 Git 過渡。過渡完成后,Mercurial 將從 Firefox 開發(fā)工作流程中完全淘汰。
    的頭像 發(fā)表于 11-23 16:08 ?582次閱讀
    Mozilla <b class='flag-5'>Firefox</b>開發(fā)將完全轉(zhuǎn)向Git,放棄Mercurial

    Firefox Android版擴(kuò)展支持即將推出

    事實(shí)上,早在 2019 年 Firefox 移動(dòng)產(chǎn)品戰(zhàn)略負(fù)責(zé)人 Vesta Zare 就曾提出有關(guān)移動(dòng)版擴(kuò)展的想法。但因?yàn)榘踩确矫娴膿?dān)憂,導(dǎo)致進(jìn)展緩慢。現(xiàn)如今,Firefox 擴(kuò)展程序的編輯部經(jīng)理 Scott DeVaney 認(rèn)為,預(yù)計(jì)用戶將對(duì)此產(chǎn)生濃厚的興趣。
    的頭像 發(fā)表于 11-08 17:04 ?683次閱讀
    <b class='flag-5'>Firefox</b> Android版擴(kuò)展支持即將推出