女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Web Components實踐:如何搭建一個框架無關的AI組件庫

京東云 ? 來源:牛志偉 ? 作者:牛志偉 ? 2025-04-08 11:27 ? 次閱讀

作者: 京東科技 牛志偉

一、讓人又愛又恨的Web Components

Web Components是一種用于構建可重用的Web元素的技術。它允許開發者創建自定義的HTML元素,這些元素可以在不同的Web應用程序中重復使用,并且具有自己的樣式、行為和功能。

Web Components并非一項新技術,而是一組持續演進的、由W3C標準化的組件化API。最早可以追溯到2011年左右,大約在2016年左右各個瀏覽器才實現了Custom Element V1版本。然而,在同一時期,諸如Vue和React等組件化框架已經開始主導前端開發生態。

盡管近幾年Web Components標準和技術都趨于成熟,但早期面臨的兼容性問題以及后來Vue和React等MVVM框架的崛起,導致Web Components領域一直處于低調狀態。接下來,我們將從Web Components的發展歷程、優勢以及開發中面臨的挑戰三個方面更深入地了解Web Components。

1、Web Components發展歷程

?2011年:Google發布了Chrome瀏覽器,并提出了“Shadow DOM”概念,這是Web Components的一個重要組成部分。

?2013年:谷歌工程師Alex Komoroske在Google I/O大會上首次提出了Web Components的概念,并推動了相關標準的制定。

?2014年:W3C發布了Web Components的規范草案,其中包括四個主要技術:Custom Elements、Shadow DOM、HTML Templates和HTML Imports。

?2015年:Web Components的規范逐漸得到瀏覽器廠商的支持,Chrome、Firefox、Safari等主流瀏覽器開始逐步實現相關功能。

?2018年:Web Components逐漸成為前端開發的主流技術之一,越來越多的開發者開始使用Web Components來構建可重用的組件。

?至今:Web Components技術不斷發展和完善,越來越多的框架和庫開始支持Web Components,使其在前端開發中發揮更大的作用。

2、Web Components有哪些優勢

?封裝性:Web Components 具有良好的封裝性,可以將頁面中的功能和樣式封裝在一個自定義元素內部,避免全局作用域的污染,提高了代碼的可維護性和可重用性。

?跨框架兼容:Web Components 是基于 Web 標準的技術,可以在任何支持 Custom Elements 和 Shadow DOM 的現代瀏覽器中使用,與各種前端框架和庫兼容性良好。

?標準化:Web Components 的規范由 W3C 組織制定,具有較高的標準化程度,有利于統一前端開發的規范和實踐,提高了代碼的可維護性和可移植性。

?性能優勢:通過使用 Shadow DOM 技術,Web Components 可以實現更好的性能優化,避免不必要的重繪和重排,提高頁面的渲染效率和用戶體驗。

目前,前端開發中有許多流行的框架可供選擇,如React、Vue、Angular、Solid、Svelte、Preact等。框架的選擇是一個復雜的決策過程。當框架版本升級時,項目可能需要面臨重構的問題。例如,從Vue2升級到Vue3可能需要付出較大的改造成本。如果不進行升級,就無法使用最新特性,甚至可能面臨框架舊版本不再維護的尷尬局面。在這種情況下,Web Components 的框架無關性可以在一定程度上改善這種局面。

就性能而言,以將 React 組件轉換為 Web Components 為例,可以優化執行過程,減少阻塞,提高頁面性能。在普通的 React 組件中,初次執行時需要一次性完成所有必須的節點邏輯,這些邏輯的執行會同步占用在 JavaScript 的主線程上。當頁面變得足夠復雜時,一些非核心邏輯可能會阻塞后面核心邏輯的執行。而通過使用 Web Components 優化 React 組件,執行過程會變得更簡潔。例如,注冊一個復雜的邏輯組件時,在 React 執行時只需執行一個 createElement 語句,創建組件只需要 1-2 微秒即可完成。真正的邏輯不會立即執行,而是等到“核心任務”執行完畢后再執行,甚至可以在合適的時機再執行,從而降低 Diff 成本

wKgZPGf0l4-AMEfNAAMswVC8J3s572.png

3、使用Web Components開發的痛點

雖然Web Components具有許多令人喜歡的優點,但在實際開發中也存在一些棘手的問題。以下是幾個典型問題:

?原生開發難題:Web Components是一項原生技術,因此在組件編寫過程中需要回歸到原生開發。事件處理、狀態管理等方面都需要自行處理。盡管大多數框架都提供了對Web Components的封裝方案,但使用這些方案又需要引入相應框架的運行時,這導致脫離了框架無關性這一最大優勢。

?Form表單問題:在Shadow DOM中,包含、或

推薦專欄

更多
    企業產品
    資料
    方案
    更多