iOS开发方式的最佳实践思考与容器化方案之一

背景

随着业务不断的发展,组织结构的调整,对于垂直化业务划分的团队来说,App的解耦需求变得越来越迫切。

举个栗子🌰来说:通过垂直化业务划分后,一个团队负责“首页”+“搜索”+“产品详情“;另一个团队负责“我的”;

这两个团队分别负责不同的代码,没有交叉的代码,端开发同学对号入座,原则上不会产生交叉资源。

这与之前普通的开发方式的区别是,之前端开发同学们相当于一个池子,有需求过来,这个版本需要做哪些东西,大家打散了平均匀给所有同学,按照计划进行开发。

而现在池子变成了两个,两个池子相互不通,并且每个池子已有固定的部分代码需要对应,不会需要越池。从代码上是可以将一个App的代码割裂成两份,两个池子的同学各自开发自己负责的代码,最终发版的时候合并即可。

代码分离

为什么要分离成两部分代码?原因是对iOS在10人左右团队中,新老同学同时在进行开发,冗余代码加上一次次业务代码、技术代码迭代,代码数量总体是只增不减,慢慢的就会发现,整个工程的代码依赖极为复杂,而且编译速度奇慢。

慢到什么程度呢?让人感到沮丧,对脑中已经构思好的代码,瞬间被这种沮丧冲乱,编译构建的时候不得不跑去干一些别的什么事情,最后终于可以验证的时候发现前面的思路早就乱了。

所以分离代码虽然会有一部分成本,但如果能预期看到这样的沮丧会减少,也是感觉值得的。

多端共享代码

如果只是一个App,两个开发团队来维护,操作上分离成两份其实是最突出性价比的做法。

但如果一个App里的功能模块还要被复用另一个App中,比如产品详情,有对于维护买卖家两个App的团队,可能就需要共用这部分代码。

这时就非常有必要将原本分离成两部分的代码中的一部分,再次做代码分离,以便满足代码可以被复用,且足够解耦。

方法

上面说了这么多,核心其实就是分离代码,分离代码的方式方法有很多,最直接的就是使用Cocoapods来对代码进行解耦分离,但这里有个大坑,后面会详细介绍到,这个坑让分离的代码意义和价值变少,也会介绍如何规避和改进。

同时也会介绍有哪些方式方法可以优化和改善,以达到理想的方案。

原文 - iOS开发方式的最佳实践思考与容器化方案之一

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,890评论 25 709
  • 前因 其实我们这个7人iOS开发团队并不适合组件化开发。原因是因为性价比低,需要花很多时间和经历去做这件事,带来的...
    曹俊_413f阅读 4,271评论 6 29
  • 小时候我是个特别没计划性的家伙。往小说,写作业不分难易,琢磨道困难的数学题就时光飞逝俩小时。往大说,历届班主任问我...
    阳明微微阅读 376评论 0 6
  • 今天去清真吃了晚饭,然后去超市买了一个冰淇淋。吃着吃着找教室,原本要练课。突然就说起要去玩,我说为什么不是今天就去...
    大人的大阅读 284评论 0 0
  • 浅谈1947罗斯威尔事件外星人访谈 ——致谢马克艾罗伊、劳伦斯·斯宾塞以及中文译者 快速阅读了一下艾罗的访谈,主要...
    EyeJOY乔择阅读 7,313评论 0 0