组件化开发

TALOS组件化平台搭建总结

2017-04-26  本文已影响153人  为梦拼命的攻城狮

转载请注明转自:http://www.jianshu.com/p/69d41d232ff8

首先这篇文章不是介绍组件化的架构,因为现在目前网上已经很多,资深大神可以绕道。这篇文章,主要是介绍"初生牛犊"进行组件化的一些总结。

一、自我反思

为什么提到这,因为我觉得很多人和我一样,有颗架构师的梦想,很想马上做出一个牛逼的架构,然而梦想需要很多的积累,需要脚踏实地!对于插件化,组件化,看过我的博客的人,可以看得我写的很多。但是说实话,有时Demo仅仅是Demo,真正实施起来,期间遇到的各种各样的困难总会让你怀疑人生!理论是基石,它会让你的方向明确。

二、时机不等人

一直想把项目组件化,然而一直没有机会,一方面是业务需求太多,另外一方面是项目暂时可以正常满足常规的业务需求。恰好这次我们部门的老大需要做容器化(概念和组件化差不多),我们是一个支撑部门,需要把一些业务交给其他部门开发,或者让非公司人员进行开发。于是主动请缨。这里真的要感谢信任!!

三、放手干

容器化从这几个方面来谈。

关于痛点,我这里简单的提下,android有65K方法数的限制,另外就是模块业务的迅速发展,迫切的需要我们改变项目的架构,来适应后期快速的业务发展。

关于容器化(组件化)的优点,我总结为这四个,具体的可以看下以前写的博客《APP项目如何与插件化无缝结合(一)》。

四、苦逼的调研

最开始接触的是阿里开源的Andfix,从demo到如何生成加载热补丁,一步步跟源码,然后就是其他几个。因为没有办法,技术能力有限,站在巨人的肩上看的远。对比了几种,发现各有各的优缺点,另外有些这里不好评价,可能因为个人技术能力有限,或者刚开源很多还存在问题,还有就是有些并不太适合我们现在的项目。和同事沟通了下,于是决定还是自己来弄!!我把它取名为Talos,源于希腊神话的巨人,它不是一种架构,它是一个平台,主项目或者其他模块依赖于它可以独立运行。

五、简简单单做件大事

做好Talos平台,在设计好之后,就是基础化,所谓基础化,就是把通用的部分提出来。

Talos项目结构

写到这里其实我纠结了很久,,我发现,好像我是在陈诉一件事实,在记流水账,就容我任性水一次吧。可能也是因为平台搭建,每个项目都会不同,另外有些因为安全性不方便过多说明。关于最后搭建完成的效果,就是上张图片所述。把基础的组件:支付,二维码,用户,通用控件,公共类库,组件通信全部集成与Talos平台。

六、一些个人的总结

1.不能贪多,先从一个最简单的来,把第一个拆好,其他的就会很快。

2.平台弄好后,以为生成aar,主项目依赖就行,参考网上打aar的方式,发现第三方类库没有在里面。其实我需要的是一个lib包,需要自己配置maven的pom文件。

3.不能忽略混淆,一般以前的项目会配置混淆,然后进行组件化时,会把一些项目结构改变,可能会导致混淆有问题。需要注意。

4.组件之间版本的控制管理尤为重要,后期组件过多,导致不同的版本并行开发,组件版本配置

5.实现组件化至少需要具备基本的gradle语法常识

6.可以实现组件化的必要前提是对业务,对项目里面的代码足够熟悉

七、最后

以上是我个人的思路,如果有不对的 地方,望指出,万分感谢。

欢迎关注微信公众号,专注于Android深度文章和移动前沿技术分享

上一篇下一篇

猜你喜欢

热点阅读