微前端设计与实现
上QQ阅读APP看书,第一时间看更新

恰如历史上各个时期的艺术风格一样,大家耳熟能详的各种架构风格(例如微服务)的诞生都是自然而然的。比如 19 世纪诞生的印象派,并非是当时的一群艺术家齐聚法国,决定开创这一派系,而是因为早期摄影技术的出现,一种艺术世界中的力量驱使艺术家们从原先的写实风格转向表达“印象”。

架构风格亦然。我们必须承认,闭门造车是造不出优秀架构的。聪明的架构师会时刻关注生态系统中出现的新趋势,并结合这些新趋势找到既有问题的解决方式。对微服务来说,DevOps 的出现、环境配置的程序化控制(这催生了容器化技术)以及高频迭代的需求,都促使这种架构风格在一些有影响力的组织里崭露头角。

此前,各种架构风格往往是先发展几年,逐步有较为显著的特征后,才会得到一个正式的名字。但微服务不是,架构师们早已注意到了这种新趋势,并始终对其保持敏锐的关注。早在 2014 年 3 月,Martin Fowler 和 James Lewis 在 Fowler 的网站上发布了一篇标志性文章,它描绘了一种名为“微服务”的全新架构风格。两位作者没有创造这个词,但他们为微服务的普及做出了不可磨灭的贡献。我觉得他们帮了业界一个大忙——在微服务概念的雏形阶段就对其基础特征进行了界定,帮助团队更快地了解什么是微服务、什么不是微服务,避免了像其他架构风格那样需要数月甚至数年来弄清楚它们的真正用途。

因为是在描绘一种全新的架构风格,所以 Fowler 和 Lewis 也预测了微服务的一些新特性,包括微服务对前端界面设计的影响。他们注意到,微服务最典型的特征之一便是服务之间的解耦,因而预测架构师也会在前端界面上做相应的分割,以匹配服务器端的解耦。

可惜事情的发展让他们始料未及。事实上,用户界面天然就是难以分割的:用户期望只在一处与应用程序交互,所有前端模块能够保持统一、协同工作。虽然完全解耦前端模块是可以做到的,但这件事对开发人员来说是巨大的挑战,他们可能期待着合适的框架和工具支持。

幸运的是,这种支持终于到来了,你手中的这本书便是微服务开发应用于前端方面的权威指南。Luca Mezzalira 清晰地描述了各种挑战和问题,并提出了前沿的方法来解决常见的技术难题。

这本书条理清晰,首先介绍了前端开发人员目前面临的问题,然后深入探讨了微前端的各个方面。在这本书中,Luca 不仅提供了详尽的技术细节,而且阐述了当前前端生态内的关键观点,包括如何将难以分割的前端界面解耦,以及持续集成等常见的工程实践如何应用这一新的架构。

每个构建微服务的开发人员,无论是否需要构建用户界面,都会从这本指南中受益匪浅。

——Neal Ford,ThoughtWorks 总监架构师 / 模因牧人 1

1模因牧人(Meme Wrangler)是 Neal Ford 自创的头衔,他专门写了一篇文章来解释其含义。若想进一步了解,可以搜索“Meme Wrangler Origins”。——译者注