近日,OSCHINA 和 Gitee 聯(lián)合發(fā)布了《2022 中國開源開發(fā)者報告》。該報告由”前沿開源技術(shù)領(lǐng)域解讀?“ ”?中國開源創(chuàng)業(yè)觀察 2022“,以及”?開發(fā)者畫像分析?“ 三個章節(jié)組成。
(報告地址:https://gitee.com/report/china-open-source-2022/)
(資料圖)
其中,Phodal?在報告中對開源大前端領(lǐng)域進行了解讀。
2022 年前端趨勢總結(jié)
類微前端:豐富與靈活的各類模式
與多年前相比,微前端及類微前端模式已經(jīng)靈活多變:
微內(nèi)核模式,即胖 vendor + 插件式的瘦組件。
標準微前端模式,基于定制的底座,以使各個應用、組件完全獨立。
混合模式,即介于微內(nèi)核與微服務化模式,諸如半嵌入的微內(nèi)核模式。
無組件模式,諸如基于 Web Components、Islands 架構(gòu)模式構(gòu)建豐富的組件集。
現(xiàn)在,我們的挑戰(zhàn)變成:如何選擇合適的模式?
工具鏈:追求速度與非凡體驗
眾所周知,JavaScript 的工具鏈存在執(zhí)行速度的問題,主要體現(xiàn)在編譯方面,進而影響到開發(fā)和構(gòu)建速度。
Rust 作為 JavaScript 的基礎(chǔ)設(shè)施語言之一,在底層的 Node.js 生態(tài)方面,諸如 NAPI-RS 提供了使用 Rust 構(gòu)建預編譯 Node.js 原生擴展的能力。而圍繞編譯與構(gòu)建的 SWC、Parcel 等工具也提供了更快的開發(fā)體驗。
其它語言,諸如采用 Golang 語言的 ESBuild、采用 Zig 語言的 Bun 開發(fā)的 JS 運行時等。
接下來,我們要考慮的是兼容性。
低代碼的另外一種聲音
社區(qū)已經(jīng)達成共識:針對不同的場景,構(gòu)建不同的低代碼平臺。而對于中小型公司,還面臨著一個問題,開發(fā)人員響應“熱鬧驅(qū)動開發(fā)”開發(fā)了低代碼平臺,而這些低代碼平臺似乎并沒有真正體現(xiàn)價值?設(shè)計不出適合業(yè)務使用的體驗與流程?
值得一提的是,金融科技公司傾向于招聘會 Python 的業(yè)務人員?;蛟S,你需要真正懂數(shù)字化的業(yè)務?
瀏覽器智能
在移動設(shè)備上運行 TensorFlow Lite,在邊緣型的嵌入式設(shè)備中能部署 AI 應用(tinyML),那么直接運行在瀏覽器上的 AI 也將變得流行(TensorFlow.js、ML5.js)。而我們還要面對模型體積帶來的網(wǎng)絡(luò)影響,如何平衡體積與質(zhì)量成為了一種挑戰(zhàn)?
架構(gòu)模式:SDUI 與 Islands
在 2022 年里,一些過去陌生的架構(gòu)模式,也逐漸變得耳熟能詳。
Server Driven UI。在 SDUI 架構(gòu)下,服務器返回的數(shù)據(jù)(JSON)會包含頁面的組件信息、布局以及數(shù)據(jù)類型等等,前端則根據(jù)這些信息來渲染 UI。從模式上來說,它與我們現(xiàn)今構(gòu)建的低代碼模式極為類似,圍繞生成的 JSON 生成組件等的信息。相比之下,只是產(chǎn)出的結(jié)果和過程數(shù)據(jù)略有差異。
Islands 架構(gòu)(孤島架構(gòu))。孤島架構(gòu)鼓勵在服務器呈現(xiàn)的網(wǎng)頁中使用小的、集中的交互塊。Islands 的輸出是漸進式增強的 HTML,更具體地說明了增強是如何發(fā)生的。
這兩種模式依賴服務器來動態(tài)生成,還存在依賴 CDN 的動態(tài)生成模式。
邊緣 JavaScript
多年前,Cloudflare 公司提供了一個名為 Cloudflare Worker 的工具,可以在邊緣側(cè)執(zhí)行應用程序。越來越多的主流框架支持這種方式,諸如 Next.js 的 Edge Runtime。簡單來說,CDN 廠商提供了一個動態(tài)的 JavaScript 服務器,讓代碼運行在邊緣側(cè),以提高應用程序的訪問速度。其適合處理預處理場景,諸如授權(quán)等,也應用于 Islands 架構(gòu)。
更多報告內(nèi)容查看:https://gitee.com/report/china-open-source-2022/
關(guān)鍵詞: 2022 年前端趨勢總結(jié)