为什么要写这篇文章
组件化已经深得客户端开发大神们的认可,组件化确实进一步优化了客户端团队的开发效率,更适合大团队分组推进,理解组件化的思想,深入研究组件化的实现方案是很必要的。
在接触众多组件化的方案后,自己也萌生了想搭建一套集众家之所长的组件化方案。
而从【得到】组件化方案入手,主要是【得到】组件化开源的demo比较完整,日期也比较新。
这篇文章的主要目的是想研究一下【得到】组件化比其他组件化方案更优的点,就像得到官方文章中说的一样:
在设计之初参考了目前已有的组件化和插件化方案,站在巨人的肩膀上又加了一点自己的想法
综合各家之所长,再加上自己的一点想法,整理出自己习惯的一套组件化方案
得到App组件化的大概介绍
开源的组件化方案并不少,放出来的组件化文章就更多了,但是像【得到】技术团队这样连同方案和解析文章全部一起打包,毫无保留的开源给开发者的确实是少数。
只是官方文章难免站在了主人的角度来诠释框架的整体,对于一个刚刚接触这套框架的学习者来说还是有点难懂,所以我这里再次对这个方案的实现从一个学习者的角度梳理一下,对其他学习者应该也是有意义的。
【得到】组件化优缺点都比较明显
- 优点:代码隔离方案很实用,并且逻辑简单清晰好理解
- 缺点:暂时还没有加入 Activity注解-apt自动生成-ui路由 ,发布aar仍需改动isRunAlone的值。
【得到】组件化官方的解析文章中已经有放出