iOS组件化之入门知识

组件化简介

什么是组件化,顾名思义,组件化就是将APP拆分成各个组件(也可以称之模块),同时解除这些组件之间的耦合,然后通过主工程将项目所需要的组件组合起来,因此常见的组件化方案大多都是使用cocoapods做依赖管理。
由于考虑到组件的代码结构,复用性等因素,项目中的组件拆分一般选择但不局限如下:

  1. 无业务基础组件
  2. 带业务基础组件
  3. 功能组件
  4. 业务模块组件
  5. 组件中间件

组件化架构的由来

随着移动互联网的不断发展,很多程序代码量和业务越来越多,现有架构已经不适合公司业务的发展速度了,很多都面临着重构的问题。
在公司项目开发中,如果项目比较小,普通的单工程+MVC架构就可以满足大多数需求了。但是像某宝、某猫、某东等这样的大型项目,原有的单工程架构就不足以满足架构需求了。
就拿淘宝来说,淘宝在13年开启的“All in 无线”战略中,就将阿里系大多数业务都加入到手机淘宝中,使客户端出现了业务的爆发。在这种情况下,单工程架构则已经远远不能满足现有业务需求了。所以在这种情况下,淘宝在13年开启了插件化架构的重构,后来在14年迎来了手机淘宝有史以来最大规模的重构,将其彻底重构为组件化架构。

组件化架构优缺点

优点列举

  1. 降低耦合。组件化抽取出来是一个业务单一独立的模块代码,可以直接用子工程进行管理的
  2. 组件开发,优化编译和运行时间,还可单独打包测试
  3. 组件化后项目的代码结构更加清晰,维护更加方便快捷
  4. 多人开发,代码管理更加简单,版本管理虽然增加困难,但各自负责维护模块,明确团队开发的业务边界,增加团队协作效率。
  5. 打造团队的编程默契,营造积极向上的气氛

缺点列举

  1. 前期需要很大的开发和业务拆分时间成本,根据公司目前的业务发展期适当来选择是否需要组件化。
  2. 代码建设需要很大的投入,模块拆分的耦合需要测试更加仔细。
  3. 版本同步问题,版本管理和集成管理有一定的难度。

专业博客请参考以下链接

  1. Casa Taloyum: iOS应用架构谈 组件化方案
  2. Limboy: 蘑菇街 App 的组件化之路
  3. Alibaba : BeeHive
  4. 有赞: 有赞组件化之路
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值