从本质上讲,微前端是一种技术架构的理念。通过前两章对微前端优缺点的探讨,以及拆分方案的解析,我们对微前端有了更为具体而深入的了解。我们已经掌握了微前端的优势与不足、适用的环境以及实施的关键点。然而,这些理论知识虽然重要,但更多地扮演着指导实践的角色。在实际操作中,我们更需要具体的实施方案或操作手册来引导我们前行。
本章将借鉴市场上现有的微前端解决方案,通过构建一些简单的实例,深入探索理论与实践之间的交汇点,从而更直观地理解它们是如何相互作用的。
目前,微前端的实现方案大体有以下几种:
● Router(路由式)
● Iframe(前端容器化)
● Web Component(应用组件化)
● 微服务化
● 微件化(组件式)
● 微应用化(组合式)
前三种方案相对容易理解,它们是基于某种Web核心能力的支持来实现微前端方案的。通过这些核心能力,再结合一些技术手段,我们就能够获得不错的微前端体验。然而,后三种方案并没有明确指出要使用哪些技术作为实践的核心能力,它们更像是对某种“能力”的描述,既模糊又不具体,这需要我们花费一些时间来了解它们之间的区别。
在对某个知识点不够了解且没有明确的切入点时,可以尝试从它的名称入手。
微服务化听起来似乎与服务器密切相关,其核心确实与后端的微服务紧密相连。关键在于实现“完全的独立性”,即从开发到部署,再到构建和运行,每个服务都是完全独立的,与其他应用没有直接联系。最终,通过“模块化”的方式将这些独立服务组合成一个完整的应用集合。微服务化的最终目标是提高整个系统的可维护性和扩展性,同时减少开发团队之间的耦合。要牢记的关键点是“独立”和“降低耦合”。通过这种方式,每个团队可以专注于自己的服务,而不必过多担心其他服务的影响,从而提高开发效率和系统的灵活性。
微件化的核心在于微件(widget)。微件指的是一段可以直接嵌入应用中运行的代码,它由开发人员预先编译好,在加载时不需要再做任何修改或编译。换句话说,微件是一段已经完备的、随时可以拿来使用的代码,这段代码可以以任何形式存在,目的是“拿来即用”。
微应用化则是指将业务或需求拆分成一个个独立的应用,在构建时可以组合成一个完整的业务应用。由于需要在页面上组合代码,这些微应用需要依赖于相同的框架环境,无法混合使用多个框架。
至此,相信你可能会有更多困惑。困惑于这里只讲了理论,而没有提及具体的实践方法;困惑于不同方案之间的关系,只说明了它们是什么,而没有解释为什么;或者困惑于理论太多,不知道哪些是有用的,哪些是无用的。
不过没关系,有问题是好事,我们需要带着这些问题继续学习。