IKEA的微前端经验谈
极客时间编辑部
讲述:杜力大小:1.14M时长:02:30
对于庞大的前端,开发者面临着和后端一样的问题,近日,IKEA(宜家家居)的 Web 架构师古斯塔·夫尼尔森·科特(Gustaf Nilsson Kotte),在接受采访时表示,像把企业架构分割成较小的服务一样,把前端分解成较小的部分,可以使团队自主部署,从而实现 Web 前端的持续交付。
他认为,一个团队包含 10 到 12 个人时,可以运转的比较好,超过这个数字,团队就会不那么高效了。他还认为,如果服务小,那么团队可以有不只一个服务,但是这会增加架构的压力,因为团队和服务都应该是自治的。
而如果有 24 个人,科特不赞成创建一个前端团队和两个后端团队的做法,他指出,后端团队向终端用户交付价值,可能会需要前端团队的变更,两个后端团队可能还会增加前端的故事队列。他更愿意创建两个独立的团队,每个 12 人,后端和前端服务都由自己开发,这样就可以按照自己的节奏进行部署。
在科特看来,微服务关乎多样性和异构架构,可以使用不同的技术。同样地,前端也应该如此,开发者们应该从一开始就支持多样化的前端技术栈。
他发现,要想在前端那里获得和后端微服务一样的好处,唯一的解决方案是使用某种形式的嵌入机制,这是一种把一个电子文档包含在另一个文档中的方法。在客户端,一个嵌入的例子是 image 标签,浏览器在渲染时会使用实际的图片替换这个标签,也就是把图片文档嵌入到 HTML 文档中。
在服务器端,如果没有 HTML,那么 ESI(Edge Side Includes)就对应 image 标签。ESI 是 IKEA 微前端概念中的基础技术,它有页面和片段的概念,一个团队负责一套页面和片段。
由于页面是由不同团队开发的片段组合而成的,可能使用了不同的技术,所以,这些片段需要使用某种技术组合在一起。为了解决这个问题,IKEA 的团队使用了一种名为自包含片段的技术,可以把片段需要的所有东西,如 CSS 和 JavaScript 都包含进来。虽然这项技术本身有点复杂,但是对于使用它的团队而言,还是比较简单的。
科特在总结中强调,他介绍的架构并不一定适合所有人。开发者必须从组织层面,考察不同设计的优缺点,从而找出最佳的解决方案。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- li3huo为啥不用vue.js呢1
收起评论