| 作者: | Luca Mezzalira |
| 语言: | 英文 |
| 出版年份: | 2021 |
| 下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
《Building Micro-Frontends: Scaling Teams and Projects, Empowering Developers》是Luca Mezzalira于2021年出版的前端架构指南,专注于微前端这一新兴架构风格。本书基于作者在DAZN等大型组织中的实践经验,为软件架构师、技术负责人和开发人员提供了构建和交付微前端的全面指导。微前端架构受到微服务模型的启发,允许将界面拆分为由不同开发团队管理的独立功能模块,从而实现原子化部署而非大爆炸式发布。本书不仅涵盖技术实现细节,还提供了关键的生态系统视角,包括如何将单体应用解耦为更松散耦合的用户界面,以及常见工程实践(如持续集成)如何适应这种新技术。
本书按照从理论到实践的路径组织内容,分为10个核心章节和1个附录:
第1章:前端领域现状 本章探讨了导致微前端出现的思想过程,并概述了前端开发可用的不同架构。作者分析了单页应用(SPA)、同构应用、静态页面网站和Jamstack等现有架构的优缺点,指出这些架构在团队规模扩大时面临的组织和技术挑战。特别强调了康威定律(组织设计系统时产生的设计结构会复制组织的沟通结构)对架构设计的影响。
第2章:微前端原则 本章深入分析了微服务背后的原则及其如何适用于前端开发。作者回顾了从单体架构到微服务的演变过程,指出微服务简化了业务逻辑,但需要在网络、持久层、通信协议、安全等不同层面处理固有的复杂性。微前端也是如此,虽然业务逻辑和代码复杂度大幅降低,但自动化、治理、可观测性和通信方面的开销必须考虑。本章提出了微前端的核心原则,作为实施微前端的北极星。
第3章:微前端架构与挑战 本章是理解微前端的基石。作者提出了创建成功微前端架构的四个关键支柱:识别、组合、编排和通信。决策框架涵盖了如何识别微前端边界、如何组合不同的微前端、如何编排它们的工作流程,以及如何实现它们之间的通信。一旦这些决策确定,就可以从任何角度(如自动化策略、设计系统等)轻松设计系统的其余部分。
第4章:探索微前端架构 本章探索了微前端的多种实现方式。作者对不同的微前端架构进行了分类和分析,评估了每种架构的优缺点,并试图为每种架构找到合适的用例。涵盖了服务器端组合、客户端组合、构建时组合和运行时组合等不同模式,帮助读者根据具体需求选择最合适的架构。
第5章:微前端技术实现 在前几章架构分析的基础上,本章使用所学知识实现一个微前端项目。作者选择了一种微前端架构,并按照决策框架进行实施。通过具体的技术实现,展示了如何将理论转化为实践,包括代码组织、依赖管理、样式隔离和状态管理等关键问题。
第6章:构建和部署微前端 本章涵盖了为微前端创建成功自动化策略的原则和最佳实践。具体包括不同的仓库策略、持续集成流水线中需要包含的关键步骤,以及如何在生产环境中交付微前端。作者强调了微前端环境中的自动化复杂性,包括独立部署、版本控制和回滚策略。
第7章:微前端自动化流水线:案例研究 在理论基础上,本章讨论了微前端自动化策略的实例。这些是从实战中获得的真实见解,可以立即应用于现有的自动化流水线。案例研究展示了如何为微前端设置端到端的CI/CD流水线,包括代码质量检查、测试、构建、部署和监控。
第8章:微前端的后端模式 本章涵盖了将微前端架构与单体API层或微服务集成的不同模式。包括前端专用后端(BFF)、API网关和服务字典等模式,每个模式都配有示例和最佳实践。作者探讨了如何设计后端以支持前端的独立部署和扩展。
第9章:从单体到微前端:案例研究 本章分析了一个潜在用例,探讨了将遗留前端应用程序迁移到微前端的旅程。通过ACME公司的虚构案例,展示了团队如何开始迁移到前端分布式架构,以及他们为实现目标所做的决策。案例涵盖了迁移策略、技术选型、团队重组和风险管理。
第10章:在组织中引入微前端 本章作为全书的总结,专注于组织层面。作者强调架构不仅是技术实现和指导,更重要的是帮助团队成功的机制。探讨了如何在组织中推广微前端,包括文化变革、技能提升、沟通机制和度量指标。特别关注了如何建立支持微前端架构的组织结构和流程。
附录:社区对微前端的看法 收集了来自社区的宝贵经验和建议,包括来自在规模上开发微前端项目的人们的真实故事和良好建议。这些经验分享为读者提供了额外的视角和实践参考。
本书适合以下几类读者:
本书的核心价值在于它提供了一个全面的微前端实施框架,不仅涵盖技术实现,还包括组织、文化和流程方面的考虑,帮助读者在日益复杂的前端开发环境中构建可扩展、可维护的应用程序。