如何将 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 的工具。如果要使用Java
或SWIFT
语言,则必须弹出Expo
。在JAVA
或SWIFT
中创建您自己的模块并在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 应用程序一起使用