【问题标题】:Use react native to create a iOS framework and Android library (not app) from common code base使用 react native 从通用代码库创建 iOS 框架和 Android 库(不是应用程序)
【发布时间】:2017-12-14 09:19:22
【问题描述】:

有没有人成功地使用 react native 创建 iOS 和 Android 应用程序,这些应用程序可以用作其他 iOS 和 Android 原生项目中的库/子项目,这些项目是在没有 react native 的情况下创建的?我的目标是为现有的应用程序创建新功能,该应用程序同时具有 iOS 和 Android 代码库,该代码库是在没有原生反应的情况下开发的。

作为一个简单的例子,让我们想象一下我需要创建一系列屏幕和逻辑以允许用户“创建一个新帐户”。理想情况下,我想使用 react native 创建新功能(控制器、视图、api-client 等),然后将其导出为自包含的 iOS 和 Android 应用程序。除了能够自行运行这些应用程序之外,我还希望能够将它们作为子项目包含在其他原生 iOS/Android 项目中。然后,本机 iOS 项目将创建一个新的故事板/ViewController/segue,并将 react 本机 iOS 应用程序的主视图链接到它。

我知道在 iOS/xcode 上,我可以通过将 .xcodepro 拖放到另一个子项目中来添加子项目。如果我使用使用 react native 创建的 .xcodepro 执行此操作,我将如何将顶层视图链接到现有的非反应原生 iOS 项目? Android端是否有类似的流程来实现相同的功能?

【问题讨论】:

标签: android ios xcode react-native


【解决方案1】:

我也想探索 React Native。我们和您有类似的需求——为 iOS 和 Android 开发一个通用的库/框架。我们的解决方案是用 C++ 编写库,并在 iOS 上的 XCode 和 Android 上的 JNI(Java 本机接口)转换器中使用它。 JNI 很痛苦,因为并非所有内容都可以转换为 1 到 1。我使用 Ruby/RubyMotion 进行了研究,但它也有一个 JNI 转换步骤。还有其他语言不需要 JNI 转换 - 但从我上次阅读的内容来看,这些也是实验性的。尝试所有这些都需要付出努力,并且无法保证结果。假设除了共享库之外,您仍然希望应用程序的其余部分(UI 等)使用 Native,这将需要开发人员结合使用 Swift、React 和 Java(这可能会变得昂贵)最有意义的方法是将 Swift 用于 iOS 框架,将 Kotlin 用于 Android 库并使用相同的样式(功能/react-swift/react-java 样式代码)这样​​,虽然库仍然不同,但它们以相同的样式编码,因此开发/一个的维护工作可以快速复制/应用到另一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-29
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多