[求救]如何整合两个版本相差较大的 React Native 项目

2018-03-20 10:37:27 +08:00
 njwangchuan
显现,A、B 都是 RN 项目

A 项目,主营项目,0.50 版本,开发框架为 route-flux+大量第三方 UI 组件
B 项目,待整合功能项目,0.37 版本,开发框架为 RN 核心库+手写 UI 组件

A 项目是核心且刚启动不久,B 项目代码完成度高但功能层面并不是业务重点。

方案一:降级到 0.37 ,在 B 项目上继续开发 A 项目的需求
方案二:B 升级到 0.50 再整合,需要的人力和时间较大
方案三,B 项目整体打包成原生模块导入 A,A 开发框架不变写一些路由中间件访问 B 中的功能。但跟我们技术沟通后好像实现起来难度较大,可行性不高。

欢迎各位 dalao 提出建设性意见
5179 次点击
所在节点    iDev
6 条回复
cloudzqy
2018-03-20 10:46:04 +08:00
我写完 RN 后就没负责这块了,不过我们的 RN 项目,在后续原生开发的时候碰到了不少坑,原生需要升级依赖,但是低版本 RN 只能用老的依赖,直到不得不升级 RN 版本。
我们是 0.42 升级到最新版本,项目小,耗费精力不大。如果你们是手写 UI 组件的话,还是比较可控的。
没什么建设性建议,还是评估人力成本吧,倾向于升级。看下面大佬回答。
maichael
2018-03-20 10:55:01 +08:00
方案二更实际一点,降级是不可能降级的,这辈子都不可能降级的。三的话,后续要维护是个大问题。
MinYa
2018-03-20 11:04:35 +08:00
我也同意方案二,幸苦一时,后续就好了,而且都是想通的,更新还是蛮快的
liuzhedash
2018-03-20 11:04:36 +08:00
方案二最可行;方案三如果 AB 路由中间件不同的话,基本没可行性;方案一主要问题是 0.37 的 bug 太多,降级实在是难受。
liuzhedash
2018-03-20 11:06:53 +08:00
B 升级的工作量其实没想象的那么大,我手动升级过一些老版本组件的代码,主要问题是一些旧的写法已经不支持了,跟着报错修改就行。
njwangchuan
2018-03-20 13:23:51 +08:00
非常感谢各位 dalao 的建议!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/439625

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX