查看原文
其他

都说微前端架构好,它到底有哪些优点?

为开发者服务的 21CTO 2022-05-25


在介绍微前端技术之前,先了解什么是微服务架构,因为微前端的概念隐约受到微服务的启发,并以微服务类似的方式命名


微服务(也称为微服务架构)是一种架构风格,它将应用程序构建为一组服务,这些服务是:


  • 高度可维护和可测试

  • 松散耦合

  • 可独立部署

  • 围绕业务能力进行组织

  • 由一个小团队拥有


微服务架构可支持开发者们快速、频繁和可靠的交付大型复杂应用程序。


现在各位请回到微前端部分。


微前端基本上是微服务模式的扩展,其中功能扩展到前端。因此,微前端带来了广泛的优势,包括部署独立性、更容易测试功能等。


微前端背后的想法是将 Web 应用程序视为由独立团队拥有的功能组合。每个团队都有自己关心的领域,或者专攻的不同业务领域。团队是跨职能的,从数据库到用户界面,端到端地开发功能。


单体模式与微服务前端


微前端背后的一些核心概念:


  • 技术独立

    每个团队都应该在不与其他团队协调的情况下选择和升级技术栈。自定义元素有助于隐藏实现细节,同时为其他人提供中立界面。

  • 隔离团队代码

    永远不要共享代码运行时,即使团队使用相同的框架,也要构建独立的自包含应用程序,也不要依赖共享状态或全局变量。

  • 创建团队前缀

    在尚无法隔离的地方使用命名约定。命名空间 CSS、本地存储、事件和 Cookie,以避免冲突并澄清所有权。

  • 优先使用本机浏览器功能而不是自定义 API

    使用浏览器事件进行通信,而不是构建一个全局的 PubSub 系统。如果需要构建跨团队的 API,请保持简单。

  • 构建弹性网页设计

    即使JavaScript无法执行,这些功能也应该可用。要提高感知性能,请用通用渲染和渐进式增强。


但是为什么我们需要微前端?来了解一下。


在当今时代,随着新的 Web 应用程序的出现,前端变得越来越大,而后端却变得越来越不重要。大多数代码是微前端架构,而单体式架构不适用于更大的 Web 应用程序。需要有一种工具将其分解为独立运作的较小模块。


问题的解决方案就是使用微前端。


微前端的好处,梳理以下几点供各位参考:


  • 具有更好的可扩展性;

  • 更快的开发,因为团队可以独立工作。

  • 可以在应用程序中使用多个框架。但是应该谨慎和透明地操作以避免混淆。

  • 部署独立性。微前端的交付不会影响整个应用程序。这些更改准确地影响它所涵盖的业务流程的那部分。

  • 使用微前端,可以比以前更顺利地升级、更新甚至重写前端的某部分;

  • 由于它们是独立的,能够让应用程序的其余部分更容易保持稳定。使用微前端,不再需要跟踪整个应用程序。

  • 代码库更小,更易于管理。

  • 更容易聘请技术专家。使用微前端,可以寻找更专业人员来处理使用特定技术栈应用的特定部分,不需要让他们了解其它团队所使用的技术。

  • 更容易测试,人们只测试单独功能即可。


结论


在很大程度上根据自己的业务案例,判断是否应该使用微前端。如果是一个小型项目和团队,则不需要微前端架构。


具有分布式和大量请求的大型项目会从构建微前端应用程序中受益匪浅——这就是为什么到今天,微前端架构被许多大公司广泛使用,那么你也应该选择它。


学到新东西了吗?点评和反馈总是会让作者高兴,祝大家编码愉快~


编译:场长


相关阅读:


如何构建基于 DDD 领域驱动的微服务?

微服务的几个陷阱

怎么用DDD来拆分微服务?


关于21CTO.com


21CTO.com是中国开发者的学习与综合服务平台。


我们提供高质量的资讯、知识以及课程等产品;为企业提供人才招聘,数字化转型咨询,软件研发等服务。


网站地址:https://www.21cto.com

联系微信:13426109659


 扫描二维码关注21CTO微信号


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存