我们有很多用跨平台C++编写的业务逻辑。我们希望为我们的应用程序编写跨平台UI,并使用此业务逻辑创建整个跨平台应用程序。ReactNative公开C++本地模块
是否有可能公开本机模块纯粹用C++编写的react-native? 我们不想在本地语言(Java或Objective-C)中围绕C++代码创建包装。这样的包装会增加更多的复杂性,这会使调试和调查变得更加困难。
我们有很多用跨平台C++编写的业务逻辑。我们希望为我们的应用程序编写跨平台UI,并使用此业务逻辑创建整个跨平台应用程序。ReactNative公开C++本地模块
是否有可能公开本机模块纯粹用C++编写的react-native? 我们不想在本地语言(Java或Objective-C)中围绕C++代码创建包装。这样的包装会增加更多的复杂性,这会使调试和调查变得更加困难。
看起来您似乎需要查找与操作系统相关的代码,并为不同的操作系统编写此代码的不同版本。
下面是这表明这是如何做到的链接: How do I check OS with a preprocessor directive?
Timothy我正在寻找一种方法,无需编写特定于平台的代码(Objective-C/Java),就可以将C++公开给JS的react-native。 – vkudelas
我也在寻找一种方式来在C++中直接做没有Android和对象 - 针对iOS编写JNI。我在反应本机来源找到了CxxNativeModule
类。请参阅示例实施SampleCxxModule。
最后要弄清楚的是如何在C++中注册该模块。在JNI的阵营原生的Android,实施NativeModule
说
NativeModule
(胡)的实现是用C++不能提供 任何Java代码(这样他们就可以在其他平台上重复使用),而是 应自行注册使用CxxModuleWrapper
。
然后执行CxxModuleWrapper
说
这确实没有什么有趣的,除了避免破坏现有的代码。
所以,这可能会帮助您开始。最后要弄清楚的是如何注册一个CxxNativeModule
,以便它可以在JS中使用。
我很感兴趣的是如何以这种方式将C++模块集成到React Native中。有关该主题的更多文档或文章? – Adamski
“本地语言(Java或Objective-C)”至少Java不是本地语言 –
这样的东西? https://facebook.github.io/react-native/docs/native-modules-ios.html – Marged
没有在链接中的解释向您展示如何编写Objective-C代码以在JS中公开它。我想要纯粹的C++代码暴露给JS。 – vkudelas