从 Boss 说要打造航空母舰开始 我就想到了用组件化去实现,一条航母(一喂主 APP), 多条护卫舰 顺风车 拼车网 长途汽车票 ,是如何利用多个 APP 给主 APP 引流的.
在刚到一喂智能科技时候,只有一个一喂直达 App, 里边有配送 跑腿 长途急件 爱心店铺 服务店铺等模块,刚开始笔者并么有对项目进行大刀阔斧的改造,而是一点点的抽离,先抽取出来一个 YVNetworkLib 将网络请求模块单独抽取成一个 Pod组件,然后将所有分类 工具类 公共方法抽取成 YVBase, 然后将 YVBaseController 和 YVNavigationController ,YVTabbarController,YVWebviewController 单独抽取出来一个 YVMain 的组件,当然了对于一些 UI 组件控件 比如红包组件 照片选择器组件 抽取出来一个 YVCustomUI 组件,对于第三方支付 消息推送 七牛云图片上传 数据库存储 抽取出来一个 YVThirdPart 组件,至此初步形成了组件化的五大基础模块
一喂主 APP (航母) 工程结构示意图
顺风车 (护卫舰1) 工程结构示意图
拼车网(护卫舰2) 工程结构示意图
一喂主 APP 顺风车 拼车网 共用一个 Xcode 工程 配置多个环境变量
这可能是马甲包最新的操作方式
拼车组件 看图猜猜组件 心雨心愿组件 可以在3个 APP 上展示 ,一次业务修改 3个 APP 同时完成修改 ,开发时候只需要在一个 APP 上改,另外两个 APP 自然而然的改动,不足之处是一个拼车组件有 bug,3个 APP 都有相同 bug