字節跳動Web Infra發起 Modern.js 開源項目,打造現代 Web 工程體系

10 月 27 日舉辦的稀土開發者大會上,字節跳動 Web Infra 正式發起 Modern.js 開源項目,希望推動現代 Web 開發範式的普及,發展完整的現代 Web 工程體系,突破應用開發效率的瓶頸。

傳統的 Web 開發是“服務器端爲中心”的開發範式,近年來,已經越來越多的轉移到“客戶端爲中心”的現代 Web 開發範式,開發門檻不斷降低,效率不斷提升。產品研發可以更少的關注底層技術細節,更專注在用戶需求和市場價值上。而傳統的前端技術棧難以解決“開發者體驗”和“用戶體驗”的矛盾,越來越成爲提效的瓶頸。

字節跳動 Web Infra 一直在字節內部支持“現代 Web 開發”的實踐,發展了完整的字節前端研發體系,Modern.js 項目就是來自其中的現代 Web 工程體系。

Modern.js 將以往海量的前端工程模板,收斂成三大工程類型:應用、模塊、Monorepo,每種類型都只需要同一套模板、同一套工程方案。其中“應用”工程方案又被稱作“MWA”(現代 Web 應用),基於一套客戶端爲中心、前後端一體化的應用開發框架,實現了強大的“Universal App”模式。即一套應用源代碼,能同時在客戶端、服務器端、編譯時裏運行,能以靜態 Web(SPA、MPA、SSG)、動態 Web(SSR、SPR)、微前端、桌面應用、小程序等不同模式運行,同時支持低門檻、全功能、一體化的 BFF (針對特定界面的服務器端 API)開發。

“MWA” 是 Serverless 優先的,內置產品級 Web Server。它能在開發、調試、部署、運行等所有環節做到儘可能“無服務器化”,同時確保“開發者體驗”和“用戶體驗”,讓更多“前端開發者”成爲獨立、全面的“應用開發者”和“產品開發者”。Modern.js 也原生支持微前端、Electron 桌面應用、Monorepo 等研發場景。

Modern.js 從最初就設計爲 ESM 優先,在“編譯時”環節能更好的支持 Unbundled 開發、非 JS 語言的編譯器等第三代 JS 工具的發展。在“運行時”環節,Modern.js 提供開箱即用的應用架構,提供在“應用”工程方案、“模塊”工程方案裏都能無縫使用的 Runtime API 標準庫。在“編寫時”環節,Modern.js 鼓勵儘可能讓機器來生成源碼的智能編程。 字節跳動 Web Infra 負責人表示:“希望 Modern.js 項目能幫助業界更快更好的發展基於前端技術的成熟 GUI 應用軟件研發體系,讓前端技術棧的開發者們能夠‘責任越大,能力越強’。”

Modern.js 官網:https://modernjs.dev/ Github

地址:https://github.com/modern-js-dev/modern.js

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章