Pod 私有库引入 RN原因
最大的原因是,原生开发不用考虑 RN 中 js 代码变更。具体如下
由于整个工程通过 git 的 submodule 管理,结构如下
RN -– iOS
|_____ Android
对应有三个 git 库RN、iOS、Android,也即至少有三个分支同时存在。
在同时有多个项目进行时,如果 RN 和 iOS 都有有依赖库更新则,
当 iOS 切换分支前,需要先将RN 的分支也切换到对应的分支并执行npm install,
才能跟原来一样切换分支并 pod install。
如果使用 Pod 私有库,则需要 RN 在更新依赖库时,生成对应的pod 库,在iOS 对应分支添加对应的 pod 库即可。
这样,iOS 开发不用考虑 RN 分支的变更,跟原来开发流程一致。但是 RN 开发人员增加了 pod 库工作量,
实际上属于 iOS 开发人员擅长领域,且后续 RN 更新,还需要在 pod 私有库添加对应版本。
重新评估原因
0.60版本后的 RN 统一采用本地 pod 库引入,将所有模块拆出,导致一个完整 RN,有20多个 pod 库,虽然这20多个 pod 库
的 git 地址一致,但是安装时貌似会重新下载,实测,光安装RN 依赖耗时就超过了30分钟。
优缺点
优点:
iOS 开发不用考虑 RN 分支的变更
缺点:
RN 开发人员增加了 pod 库工作量
引用同一 git 地址的不同 pod 库安装时耗费时间巨大
综述
纵观整个开发工程,通过 Pod 私有库引入 RN,相较于正常流程(pod 本地库引入 RN),增加了添加私有库的过程,
省去了 iOS 开发人员切换 RN 分支和npm install,相当于 RN 开发者多做了一部分 iOS 开发人员的工作,
消除了 iOS 开发人员在引入 RN 后多余的那部分工作。如果私有库这部分工作交给 iOS 开发者做,则需要增加额外的沟通成本,
不如使用pod 本地库引入 RN
结论
RN 三方库是否采用私有库引入取决于开发人员具备的开发能力,React-Native 本身的引入建议使用官方的本地库引入,不使用私有库。
网友评论