微前端需要 JavaScript為什么?原因分析
微前端需要 JavaScript為什么?許多微前端解決方案都是JavaScript 框架。JavaScript 不是可選的。想要高度交互的體驗,而JS 在提供這些體驗中發揮著至關重要的作用。
除了加載速度快和可訪問 Web 應用的優點外,還有其他因素應該考慮。許多JavaScript 框架都提供了 isomorphic 渲染能力。不僅能夠在客戶端進行拼接(stitch)還能在服務器上準備好一切。如果有性能要求(如第一次有意義渲染的初始時間)。
isomorphic 渲染有其自身的挑戰
即使一個 JavaScript 解決方案沒有提供 isomorphic 呈現沒問題。如果不想在構建微前端時使用JavaScript,當然可以這樣做。有許多模式,其中很多根本不需要 JavaScript。
考慮一種“比較舊的”模式:使用<frameset>。有一些現如今人們試圖做的分割,以前就支持了。一個頁面可能由另一個服務渲染負責菜單,而另一個頁面負責標題。
- <frameset cols="25%,*,25%"> <frame src="menu.html"> <frame src="content.html"> <frame src="sidebar.html"></frameset>
使用更靈活且仍然受到活躍支持的<iframe>元素。提供了一些很好的特性,使得不同的微前端相互隔離,仍可以通過postMessage進行通信。
微前端Micro-Frontends一種類似于微服務的架構,將微服務的理念應用于瀏覽器端,即將 Web 應用由單一的單體應用轉變為多個小型前端應用聚合為一的應用。