目前,在相當(dāng)長的一段時(shí)間里,大多數(shù)開發(fā)都是在框架的保護(hù)傘下完成的。如果我們專注于前端和JavaScript,我們可以找到幾十個(gè)框架。當(dāng)你想重用像按鈕或其他組件這樣的圖形界面元素時(shí),這是一個(gè)挑戰(zhàn),因?yàn)樗鼈兠總€(gè)都有獨(dú)特的品質(zhì)。通過Web前端培訓(xùn)學(xué)習(xí),可以讓你學(xué)到很多web開發(fā)知識(shí)和技能,有經(jīng)驗(yàn)豐富的專業(yè)講師面授指導(dǎo)教學(xué),實(shí)時(shí)解決疑難雜癥問題,學(xué)習(xí)起來又快又有效。
Web組件是來自不同標(biāo)準(zhǔn)化技術(shù)(如HTML、CSS和JavaScript)的一組元素,它們形成了一種允許在其他網(wǎng)站或應(yīng)用程序中使用它們的結(jié)構(gòu)。這些技術(shù)允許在功能和外觀上創(chuàng)建定制元素。它們的一個(gè)優(yōu)點(diǎn)是它們是框架不可知的,所以它們可以在任何JavaScript框架中使用。這使得在擁有各種平臺(tái)和技術(shù)的同時(shí)擁有一個(gè)共享組件庫成為可能。以一種更簡單的方式來統(tǒng)一和維護(hù)品牌形象是非常有用的。
萬維網(wǎng)聯(lián)盟(W3C),也就是我們今天所知的互聯(lián)網(wǎng)的創(chuàng)始人,在2012年開發(fā)了這種方法,以標(biāo)準(zhǔn)化所有的網(wǎng)絡(luò)基礎(chǔ)技術(shù)。
為什么要使用Web組件?
大多數(shù)web開發(fā)都是在JavaScript框架下完成的,比如Angular、Vue或React JS等知名庫。所有這些框架和庫對(duì)開發(fā)人員來說都非常有用,因?yàn)樗鼈優(yōu)樗麄兲峁┝艘幌盗泄ぞ撸归_發(fā)更快、更可靠。
然而,這并不都是好消息,因?yàn)殚_發(fā)人員經(jīng)常需要在使用不同框架或庫的不同項(xiàng)目中使用相同的組件。因此,他們被迫用重復(fù)的代碼重寫那些部分。這在可維護(hù)性方面造成了困難,因?yàn)殚_發(fā)人員必須根據(jù)組件的復(fù)制次數(shù)進(jìn)行這些更改,以便解決潛在的問題并集成新的功能或調(diào)整。在Web前端培訓(xùn)中,有理論課程+實(shí)踐項(xiàng)目一起學(xué)習(xí),深化所學(xué)知識(shí),積累項(xiàng)目經(jīng)驗(yàn),獲得快速提升。
這可以通過使用web組件來解決,這使得使用不依賴于框架或庫的HTML、CSS和JavaScript開發(fā)個(gè)性化組件成為可能。換句話說,這意味著開發(fā)人員只需要構(gòu)建一次就可以在所有項(xiàng)目中使用它們。
還有另一種情況,web組件的使用也很有趣。假設(shè)一家公司有很強(qiáng)的企業(yè)形象,但使用不同的平臺(tái)或網(wǎng)絡(luò)工具。很難用相同的設(shè)計(jì)來統(tǒng)一按鈕或其他元素的風(fēng)格。使用web組件方法,設(shè)計(jì)人員可以創(chuàng)建與公司形象相匹配的組件集合,而開發(fā)人員只需實(shí)現(xiàn)一次,這要?dú)w功于共享的組件目錄。
Web組件規(guī)范
Web組件基于四個(gè)主要規(guī)范,如下所述:
自定義元素
自定義元素是一組API,允許開發(fā)人員創(chuàng)建新的HTML標(biāo)記。您可以定義行為以及如何在可視級(jí)別創(chuàng)建它。有兩種類型的自定義元素:
自主自定義元素:用于創(chuàng)建全新的HTML元素。
定制的內(nèi)置元素:用于擴(kuò)展現(xiàn)有的HTML元素或其他web組件。
對(duì)web開發(fā)感興趣的同學(xué),可以參加Web前端培訓(xùn),幾個(gè)月的學(xué)習(xí)就能掌握全面系統(tǒng)的知識(shí)和技能,快速上崗。
陰影DOM
陰影DOMAPI允許您隔離原始DOM的片段,因此您可以隱藏那些組成DOM中顯示的更大元素的內(nèi)部元素。內(nèi)部行為類似于iframe,允許將其內(nèi)容與文檔的其余部分隔離開來,但是它有一個(gè)不同之處:使用shadow DOM,可以保持對(duì)內(nèi)部內(nèi)容的完全控制。將元素從其環(huán)境中分離出來的過程稱為包裝并防止CSS和JavaScript代碼泄漏到其他自定義元素中。
ES模塊
在ES模塊存在之前,JavaScript沒有像其他語言那樣的模塊系統(tǒng)。為了將JavaScript代碼注入應(yīng)用程序,使用了<script/>等標(biāo)簽,后來出現(xiàn)了其他定義模塊的方法,如CommonJS,但它們都沒有標(biāo)準(zhǔn)化。
ES模塊似乎為這個(gè)問題提供了一個(gè)標(biāo)準(zhǔn)的解決方案。現(xiàn)在我們?cè)?/span>JavaScriptES6中包含了它,它允許我們?cè)趲熘袑?duì)一些功能進(jìn)行分組,并在其他JavaScript文件中重用它們。
HTML模板
這些HTML模板允許您創(chuàng)建可作為HTML重用的代碼片段,但不會(huì)在頁面加載時(shí)立即呈現(xiàn)。模板可以在運(yùn)行時(shí)使用JavaScript插入到主文檔中,內(nèi)部資源只在元素插入到文檔中時(shí)執(zhí)行。無論模板被使用多少次,它都只被讀取一次,因此可以保證良好的性能。
該系統(tǒng)最初創(chuàng)建一個(gè)空模板,以便它不會(huì)干擾應(yīng)用程序的其余部分,并且僅在需要時(shí)呈現(xiàn)該模板的內(nèi)容,從而再次確保良好的性能。想學(xué)習(xí)更多web開發(fā)技術(shù),不妨考慮參加Web前端培訓(xùn),可以在短時(shí)間獲得快速提升,有效提高web開發(fā)工作效率。