41|微前端:从MVC贫血模式到DDD充血模式
石川
你好,我是石川。
在前面“JS 之器”的一个单元,我们介绍了为 JavaScript 开发赋能的工具。今天,我们来到了专栏的最后一个单元,也就是“JS 之势”。在这个单元里,我们会看一下在 JavaScript 和前端开发中的一些趋势。这节课我们就来看看“微前端”这个近些年兴起的概念。
从微服务到微前端
在说微前端之前,我们先来看看启发微前端概念的微服务。
微服务是在 2011 年首次被提出的一种架构模式。在微服务的概念被提出之前,Web 服务的开发主要经历了 C/S 结架构和 SOA 结构两个阶段。下面我们先来看看 C/S 结构。
C/S 结构
C/S 结构的全称是“客户机和服务器结构(Client Server)”,这种结构可以算是 Web 开发中早期的系统架构之一了。当时,大多的 Web 开发依赖的是开发者创建几个 HTML、CSS 和 JavaScript 文件,然后通过 SFTP 将开发完的程序上传到服务器,供客户端用户通过浏览器,经过网络来访问和下载相关资源。随着网站和 Web 应用程序规模的增加,简单的 C/S 结构已经不再能够处理大型企业 Web 应用程序的复杂性需求了。
SOA 结构
这时,C/S 结构的演变——SOA,也就是面向服务的系统架构的概念,在 90 年代末诞生了。SOA 通过面向服务的体系结构设计,建立了一种分层体系结构设计方法。顶层是应用程序;中间层是服务;底层是后端,包含业务逻辑和数据库。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
微前端是近年来兴起的前端开发概念,打破了前端的单体结构,允许不同前端团队在独立封装的业务领域中独立开发功能。微前端的出现对业务架构、软件开发和软件工程都有着不同程度的影响,从贫血的域模型到充血的域模型,微前端的影响主要体现在设计理念和开发流程上的转变。微前端的出现也改变了开发的习惯,允许不同前端团队独立开发功能,实现更大的系统灵活性。微前端的设计通常包括系统层结构、应用层结构、模块层结构和编码层结构,涉及了微前端如何与其他系统或应用程序交互、构建微前端应用程序本身的框架、设计系统与周围的实用工具、库和程序,以及用作应用程序中主应用和子应用构建块的所有组件和模块。微前端的出现离不开在它之前出现的微服务以及基于领域的设计模型。微前端虽然受到了微服务的启发,都是强调基于业务领域的设计、组件的封装和模块化的开发,但还是有着使用场景上的本质不同。微前端也不是完全的去中心化,因为我们还是需要一个主 App 容器负责子 App 的加载。在子 App 间,不同于单体设计,这里我们需要花更多的精力来保证子 App 的注册和发现,路由以及生命周期的管理。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《JavaScript 进阶实战课》,新⼈⾸单¥59
《JavaScript 进阶实战课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- fsattian在微前端架构中,每个组件都是一个独立的应用,它们之间的通信通常是通过与主应用建立的桥接层来实现的。 主应用通常会在每个组件加载完成后注册一个回调函数,用于处理组件之间的通信。当某个组件需要与另一个组件进行通信时,它可以调用主应用提供的 API 来发送消息,主应用会将消息转发给目标组件。 这种方式的优点是可以有效地隔离组件之间的耦合,让每个组件都可以独立开发和部署。但同时也带来了一些挑战,比如需要维护主应用的桥接层代码,并且在组件之间传递数据时可能需要序列化和反序列化。 chatGPT 好使。
作者回复: 这是chatGPT总结的吗?可以取代大多数手写的文章了
2022-12-26归属地:海南23
收起评论