如何将 React-Native 代码与 Swift 或 Kotlin 联系起来?我应该用每种语言做啥?

Posted

技术标签:

【中文标题】如何将 React-Native 代码与 Swift 或 Kotlin 联系起来?我应该用每种语言做啥?【英文标题】:How is it possible to link React-Native code with Swift or Kotlin? What should I do in each language?如何将 React-Native 代码与 Swift 或 Kotlin 联系起来?我应该用每种语言做什么? 【发布时间】:2019-08-22 14:28:01 【问题描述】:

当我发现显然有两种不同的应用程序开发方法时,我才开始使用 expo 开发应用程序。

如果我跑:

expo init test

提示如下:

Choose a template: (Use arrow keys)
----- Managed workflow -----
❯ blank         minimal dependencies to run and an empty root component  
tabs          several example screens and tabs using react-navigation 
----- Bare workflow -----
bare-minimum  minimal setup for using unimodules

如果我选择了最低限度的选项,我会得到以下目录:

android  App.js  app.json  babel.config.js  index.js  ios  node_modules  package.json  package-lock.json  __tests__

所以如果我选择空白,我只会得到以下信息:

App.js  app.json  assets/  babel.config.js  node_modules/  package.json  package-lock.json

到目前为止我所知道的:您可以使用 React-Native、Kotlin 或其他用于不同平台的语言。

我不太明白的地方:显然,您可以使用 React-Native 构建您的应用程序,并使用 Kotlin、Java 或 Swift 等其他语言更深入地访问平台资源......为什么这有必要吗?为什么你的 React-Native 在第一个实例中不使用全部资源?最后,react-native 如何与如此不同的语言联系起来?

【问题讨论】:

【参考方案1】:

您使用的是Expo。 Expo 是一个辅助 React-native 的工具。如果要使用JavaSWIFT 语言,则必须弹出Expo。在JAVASWIFT 中创建您自己的模块并在React Native 中使用它们。

有用的链接:

    Expo eject(ExpoKit) Create Native Modules in ios Create Native Modules in android react-native link after Expo eject

【讨论】:

@Slobish 如果我的回答有帮助,请为我的回答选择“V”标记和箭头吗?

以上是关于如何将 React-Native 代码与 Swift 或 Kotlin 联系起来?我应该用每种语言做啥?的主要内容,如果未能解决你的问题,请参考以下文章

将 FabricJS 与 React-Native 一起使用

如何将 UINavigationController 与 React-Native 组件集成

如何将 FCM(firebase 云消息传递)与 react-native 集成

我们如何将 Firebase Analytics 与基于 expo 的 react-native 应用程序一起使用

如何将 OpenCV 库导入 React-Native 项目

如何仅将边框半径用于 1 个角(react-native)?