如何在React Native中迁移多平台应用程序?

时间:2016-08-09 09:40:27

标签: android ios mobile react-native migration

我已经开始在现有应用程序中集成React Native,我的意思是我们希望使用尽可能多的RN重构真正的工业化应用程序(相同应用程序的iOS和Android版本),以便将代码库集中在一起(还有一个现有的网络版)。

我们相信,包含多个RCTRootView共享同一个网桥对我们来说是最好的方法,从基本内容视图开始(共享代码库更容易,更有利可图)并迭代转向越来越多RN中的应用程序部分(动画,导航,...)。

但是当我们调查这种方法时,会出现几个问题,包括技术问题和组织问题。

首先,虽然我们不想成为iOS优先或Android优先,但Android平台似乎没有相同的iOS平台成熟度来完成这类工作。我们遇到了一些问题,如:

以下不是真正的“问题”,但它增加了对Android支持的疑虑 integrating doc的iOS部分清楚地提到可以使用现有桥接器initWithBridge初始化视图,API也是明确的。)
在Android上,同一个文档提到多个视图可以共享相同的ReactInstanceManager,但如果您在捆绑中公开2个组件并使用它,则必须调用两次startReactApplication并且您将看到2行在Chrome控制台中 Running application "XXX" with appParams
Running application "YYY" with appParams
对我来说听起来不是很优化......我真的在这里创建了2个“RN应用程序”吗?

话虽如此,我们正在寻找反馈和答案:

  • 关于Android平台,在两个平台上同步重构是否合理,或者我们最好将iOS应用程序转换为RN然后转换为Android应用程序?
  • 同时显示的RN视图可以走多远? 10,一次20个视图?
  • 我们的应用程序是“面向数据的”。首先在RN世界中的Redux应用程序中移动数据获取是一个好主意吗?我想我们必须公开数据并通知商店更新到本机世界:最有效的方法是什么? (Native modules使得另一方的沟通变得容易,原生于RN,但它们似乎对此没有帮助。)
  • 另外,如何组织VCS?是将4个代码库(iOS,Android,Web和RN软件包)移动到单一存储库中吗?

0 个答案:

没有答案