在前端Web开发中,微前端(microfrontends)是一个备受争议的话题。它是否值得开发者采用?面对如此之多的神奇案例,人们无法否认微前端正日益流行这个事实。本文将探究微前端的具体使用场景和使用群体 ,并给出能快速轻松上手的现有解决方案。
什么是微前端?
微前端将大规模的后端系统切分为很多面向前端的微服务,力图实现一定程度的改进。
这里的主要问题是, 各个部分总是作为一个整体被使用和体验的。
用户体验(UX)是由前端直接负责的,因为后端系统从来不会被直接整体访问。
该问题存在多种解决方案。最简单的做法是将现有API的数据交换模型替换为HTML输出。只需一个超链接即可实现服务(视图)间的跳转。尽管这种解决方案是有效的,但缺点是在很多情况下并不能提供用户所需的UX。
显然,要将那些各自独立的较小UI部分聚合为一个整体的前端,需要的是一些更为复杂的解决方案。这应视为分布式Web应用演进的下一步。
一个重要的问题是,如何理解微前端与组件和模块的关系。事实上,组件、模块、微前端等概念,都是以构建单元的形式实现可重用性和所承担的功能。它们之间的唯一差别是所处的层级不同,具体而言:
- 组件是底层UI库的构建单元;
- 模块是相应运行时的构建单元;
- 软件包是依赖解析器的构建单元;
- 微前端是当前应用的构建单元。
原文链接:【https://www.infoq.cn/article/BCcx5O3eyjOgTeaQNksq】。未经作者许可,禁止转载。