组件化后感
好久没有写博文了。一直在开发这个新App,然后又过年了。今天突然有人加我好友问我组件化的问题,我才想起来:好久没有写博客了。
写什么不重要。关键要持续写。那我现在随便扯点什么吧。。。
哈哈也不是随便啦,也很认真。
并不是都需要二进制化
如果你是小厂,小团队,没有必要一上来就二进制化的。当时因为我们的项目中OC++代码,编译起来特别慢,不做二进制化不行,所以干脆就一口气全上了。
用router在业务组件间通信
用router在业务组件间通信是完全能满足需求的。但是写起来有点烦,不够优雅。如果再有一个新App的话,我一定会使用协议的方式来试试。
版本的问题
版本的问题在于,组件的版本没法对应主App的版本。追溯起来有点麻烦。而且当业务方让我们发个马甲包,而这个马甲包又是删减功能的App时,你的业务组件发版就有点麻烦了。尤其业务方喜欢历史版本。
动态化
如果想要使用weex/react-native这种来搞动态化,没有什么比组件化的方式来做更合适了。可以把影响控制在范围之内。可以很容易的回滚或替换。
设计思路的变革
在培养了团队成员组件化开发之后。大家在遇到新需求,设计的时候,都会首先定义它是属于哪种组件,如何解耦,对外要提供哪些router。
组件化之后单元测试更容易写和维护
开发成员看到了代码都是冰山一角,对于整个App来说。所以他们可以很容易地去写单元测试和维护,也不用担心单元测试需要依赖很多东西的问题。组件化之后,大家更愿意主动的去写单元测试。
开发效率的提高
最后发现大家开发效率提高了,bug少了。
小厂/小团队要不要组件化
有空你们就搞吧。
下一个目标
把oc演变为swift。把oc组件演变为swift组件。