微前端框架实践

微前端简介:

微前端是一种前端架构设计方法,将前端应用程序拆分为独立的、半独立的“微应用”模块,它们在一定程度上松散地协同工作。微前端的概念最早出现在2016年的ThoughtWorks技术雷达报告中,将微服务的概念扩展到前端世界。微前端的核心思想是将前端应用程序分解为独立交付的前端应用,然后将它们组合成一个更大的整体。每个微前端可以由不同的团队管理,并且可以使用不同的框架来实现。这种方法使得团队可以独立开发、测试和部署各自的前端应用,同时向用户呈现为一个统一的产品。微前端的优势包括代码库更小、更具连贯性和可维护性,组织更具扩展性,能够逐步升级、更新或重写前端的各个部分,以及更灵活地进行增量升级等。

微前端的核心理念包括组件化、独立开发和部署、技术多样性和团队自治。每个微前端都有自己的git存储库、package.json文件和构建工具配置,因此每个微前端都有独立的构建过程和独立的部署/持续集成。这意味着每个存储库的构建时间较短。微前端与微服务类似,都强调独立的构建和部署。微前端之间的通信通常通过DOM作为共享资源进行,一个微前端的DOM不应该被另一个微前端触碰,类似于一个后端微服务的数据库不应该被除了拥有/控制它的微服务之外的任何微服务触碰。

在微前端中,可以使用不同类型的微前端,包括single-spa应用程序、single-spa包和实用模块。这些微前端可以使用React、Vue、Angular等框架来渲染其组件。微前端的性能通常比其来源于的单体应用更高,这归功于内置的懒加载和其他与性能相关的最佳实践。此外,微前端还提供了一个迁移路径,可以暴露和解决单体应用中存在的问题。一个重要的性能考虑是共享大型库(如React、Vue或Angular)的单个实例,这是非常鼓励的。

微前端之 5 个核心思想

前端工程化也面临着后端同样的问题,一个工程随着时间流逝会逐渐堆叠大量业务,从而让一个前端项目慢慢演变成一个巨石应用,基于此背景下在micro-frontends上对微前端做了如下阐述:

微前端背后的想法是将网站或 Web 应用程序视为由独立团队拥有 的 功能的组合。每个团队都有不同的业务领域任务,它关心和专注于,一个团队是跨职能的,从数据库到用户界面,端到端地开发其功能,但这个想法并不新鲜,它与自包含系统的概念有很多共同之处。在过去,这种方法被称为垂直系统的前端集成。但微前端显然是一个更友好、更简洁的术语。

微前端框架实践

并进一步提炼出以下 5 点微前端的核心思想

  • 与技术无关
    每个团队都应该能够选择和升级他们的堆栈,而无需与其他团队协调。
    自定义元素是隐藏实现细节同时为其他人提供中性界面的好方法。

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

  • 建立团队前缀
    就尚无法隔离的命名约定达成一致。命名空间 CSS 、事件、本地存储和 Cookie ,以避免冲突并明确所有权。

  • 优先使用本机浏览器功能而不是自定义 API
    使用
    浏览器事件进行通信,而不是构建全局 PubSub 系统。如果你真的需要构建一个跨团队的 API ,尽量让它尽可能简单。

  • 构建弹性站点
    即使 JavaScript 失败或尚未执行,您的功能也应该很有用。使用
    通用渲染和渐进增强来提高感知性能。

常用微前端框架:

微前端框架学习实践:


参考:

anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/6038.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注