微前端需要 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 应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。