微前端架构
在深入了解微前端技术之前,我们必须知道什么是微服务架构,因为微前端的概念隐约受到微服务的启发,并以其命名。
根据官方文档。
微服务--也被称为微服务架构--是一种架构风格,它将一个应用程序结构成一个服务的集合,这些服务是。
- 高度可维护和可测试
- 松散的耦合
- 可独立部署
- 围绕业务能力进行组织
- 由一个小团队拥有
微服务架构能够快速、频繁、可靠地交付大型、复杂的应用程序。
现在回到微前端的部分,微前端基本上是 对微服务模式的扩展,其中的功能被扩展到前端。因此,微前端带来了广泛的优势,包括部署的独立性,更容易测试的功能,等等。
微前端背后的想法是把一个网络应用想成是一个由独立团队拥有的功能组成。每个团队都有它所关心和擅长的独特的业务领域。一个团队是跨职能的,从数据库到用户界面,端到端的开发其功能。
微前端背后的核心概念。
要有技术独立性
每个团队应该在不与其他团队协调的情况下选择和升级堆栈。自定义元素有助于隐藏实施细节,同时为其他人提供一个中立的接口。
隔离团队代码
即使团队使用相同的框架,也不要共享一个运行时。构建一个独立的应用程序自成一体。不要依赖共享状态或全局变量。
创建团队前缀
在还不可能隔离的地方使用命名规则。对CSS、本地存储、事件和Cookies进行命名,以避免碰撞并明确所有权。
赞成本地浏览器功能而不是自定义API
不要建立一个全球性的PubSub系统,而是使用浏览器事件进行通信。如果需要建立一个跨团队的API,尽量保持其简单。
构建一个有弹性的网页设计
即使JavaScript无法执行,这些功能也应该是有用的。为了提高感知的性能,使用通用渲染和渐进式增强。
但为什么我们需要微前端呢?让我们来了解一下。
在现代时代,随着新的网络应用,前端变得越来越大,而后端越来越不重要。大部分的代码都是微前端架构,而单片机的方法对于较大的网络应用来说是行不通的。需要有一个工具将其分解成独立行动的小模块。这个问题的解决方案就是微观前台。
为了总结这些好处,下面提到了几点。
- 更好的可扩展性。
- 开发速度更快,因为团队可以独立工作。
- 你可以在你的应用程序中使用多个框架 。然而,这应该是谨慎和透明的,以避免混乱。
- 部署的独立性。你的微型前端的交付不会影响整个应用程序。变化将准确地影响它所覆盖的那部分业务流程。
- 有了微前端,你可以 比以前更顺利地升级、更新、甚至重写前端的一部分 。
- 更容易 确保应用程序的其他部分保持稳定,因为它是独立的。有了微前端,你不再需要跟踪整个应用程序。
- 代码库更小,更容易管理。
- 更容易雇用专家。有了微前端,你可以寻找专业人员,在使用特定技术栈的应用程序的特定部分工作,所以你不需要他们了解其他团队使用的技术。
- 更容易测试,因为你只测试单独的功能。
结论。
这在很大程度上取决于你的商业案例,你是否应该或不应该使用微前端。如果你有一个小的项目和团队,微前端的架构就不是那么需要。同时,具有分布式团队和大量请求的大型项目从构建微前端应用程序中获益良多。这就是为什么今天,微前端架构被许多大公司广泛使用,这就是为什么你也应该选择它。
学到了一些新东西?评论和反馈总是让作者高兴。编码快乐