Mozilla開(kāi)發(fā)者Brian Grinstead在博客宣布,經(jīng)過(guò)多年的努力,他已在幾個(gè)星期前從Firefox UI中移除了XBL,亦即意味著將Firefox UI遷移至使用Web Components構(gòu)建的工程已完成。
XBL是一種基于XML的語(yǔ)言,當(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)用程序(如,它通過(guò)管理標(biāo)簽在瀏覽器窗口中控制大部分狀態(tài),以及從內(nèi)容頁(yè)面接收消息等)。
我們可以將Firefox UI看作是一個(gè)非常大型的單頁(yè)應(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)有代碼庫(kù)繼續(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ú)立的更改,而不是從頭開(kāi)始創(chuàng)建一個(gè)分支來(lái)重寫UI。
Brian認(rèn)為這是一項(xiàng)重大的成就,也給Firefox的底層提供了改進(jìn),還允許團(tuán)隊(duì)可以將精力集中在現(xiàn)代Web標(biāo)準(zhǔn)上,并移除沒(méi)有對(duì)外公開(kāi)的大量重復(fù)和復(fù)雜的功能。
至于為什么要使用Web Components,Brian表示由于XBL存在的問(wèn)題,多年來(lái)團(tuán)隊(duì)一直在討論移除XBL。但這項(xiàng)工程似乎十分龐大,并且看起來(lái)好像需要從頭開(kāi)始重寫Firefox UI,所以一直沒(méi)能有效推動(dòng)項(xiàng)目的進(jìn)展。后來(lái)團(tuán)隊(duì)進(jìn)行了“設(shè)計(jì)審查”,并提議啟動(dòng)“并行項(xiàng)目”計(jì)劃,以實(shí)現(xiàn)采用“增量更新”的方式實(shí)現(xiàn)遷移的目標(biāo)。由于兩者的模型非常相似,因此開(kāi)發(fā)者在遷移元素時(shí)能做出合理的選擇,以盡可能保持API的兼容性。
-
XML
+關(guān)注
關(guān)注
0文章
188瀏覽量
33621 -
應(yīng)用程序
+關(guān)注
關(guān)注
38文章
3324瀏覽量
58814
發(fā)布評(píng)論請(qǐng)先 登錄
【AIBOX 應(yīng)用案例】通過(guò) U2-Net 實(shí)現(xiàn)背景移除

芯伯樂(lè)XBL6501/02/03在POE設(shè)備上的應(yīng)用方案

芯伯樂(lè)XBL4501/02/03:40V/5A中高壓大電流高效降壓型DC-DC轉(zhuǎn)換器的卓越之選

芯伯樂(lè)60V/5A高壓大電流DC-DC電源芯片:XBL65系列高效穩(wěn)定的電源轉(zhuǎn)換解決方案

第二篇 RA8889 實(shí)現(xiàn)酷炫車載液晶儀表系列視頻: UI類界面介紹

【產(chǎn)品推介】可驅(qū)動(dòng)5A負(fù)載的降壓型DC/DC轉(zhuǎn)換器XBL1663

大彩VisualTFT智能家居UI案例
自動(dòng)化創(chuàng)建UI并解析數(shù)據(jù)
自動(dòng)化創(chuàng)建UI并解析數(shù)據(jù)
Firefox、Chrome和Puppeteer已支持WebDriver BiDi
TPS65987D和TPS65988用戶交替模式

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

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

評(píng)論