知识卡片

组件化与容器化的核心区别:静态发布与动态发布

普通读书笔记卡

内容

组件化和容器化并没有非常严格的定义,书中的理解是:两者在规范、拆分、团队协作方面基本是一样的——都是把超级App拆分为众多遵循预先制定好规范的组件,各自独立开发、独立测试、独立上线,组件之间如果有依赖则通过消息系统通信,从而实现组件隔离,避免各团队之间互相依赖和影响。两者真正的区别在于发布方式:组件化采用静态发布,即所有组件各自独立开发测试,然后跟随App的某个版本统一上线;容器化采用动态发布,即容器可以动态加载组件,组件一旦准备好可以直接发布,容器会动态更新组件,不需要等到某个固定版本才能上线。也就是说,组件化的发布节奏还是绑定在App整体版本发布周期上,而容器化把单个组件的发布节奏从App整体版本发布中解耦了出来,实现了更细粒度、更即时的迭代能力。

参考来源

- 位置:《从零开始学架构》第49讲《谈谈App架构的演进》"组件化 & 容器化"(源文件:_epub-src/OEBPS/text00003.html) - 结论依据:原文说明"对于组件化和容器化并没有非常严格的定义,我理解两者在规范、拆分、团队协作方面都是一样的,区别在于发布方式,组件化采用的是静态发布,即所有的组件各自独自开发测试,然后跟随 App 的某个版本统一上线;容器化采用的是动态发布,即容器可以动态加载组件,组件准备好了直接发布,容器会动态更新组件,无需等待某个版本才能上线",直接支撑本卡结论。 - 原始内容:对于组件化和容器化并没有非常严格的定义,我理解两者在规范、拆分、团队协作方面都是一样的,区别在于发布方式,组件化采用的是静态发布……容器化采用的是动态发布……无需等待某个版本才能上线