ReactNative公开C++本机模块
ReactNative expose C++ native module
我们有很多用跨平台C++编写的业务逻辑。我们想为我们的应用程序编写跨平台UI,并使用此业务逻辑创建整个跨平台应用程序。
是否可以将纯用C++编写的本机模块公开为反应本机模块?我们不想在原生语言(Java或Objective-C)中围绕C++代码创建包装器。这样的包装器将增加更多的复杂性,这将使调试和调查更加困难。
我也在寻找一种直接在C++中实现这一点的方法,而无需为Android编写JNI和为iOS编写Obj-C。我在react本机源中找到了CxxNativeModule
类。请参阅示例实现SampleCxxModule。
最后要解决的问题是如何在C++中注册该模块。在React Native Android的JNI中,NativeModule
的实现表明
实现是用C++编写的
NativeModule
不得提供任何Java代码(这样它们就可以在其他平台上重用)应使用CCD_ 4进行自身注册。
那么CxxModuleWrapper
的实现说明
除了避免破坏现有代码之外,这并没有什么有趣的事情。
所以,这可能会帮助你开始。最后要解决的问题是如何注册CxxNativeModule
,以便在JS中使用。
您似乎需要找到依赖于操作系统的代码,并为不同的操作系统编写不同版本的代码。
以下是一个链接,建议如何做到这一点:如何使用预处理器指令检查操作系统?
相关文章:
- 从C++本机插件更新Vector3数组
- GCC本机矩阵运算库
- VC++本机单元测试,找不到调试符号
- 在这种情况下,java对象是否可以调用本机函数
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 无法将标准库导入本机 android 项目中的头文件
- 如何告诉本机节点模块所需的dll存储在哪里?
- 链接节点本机模块中的提升库,对象文件需要替代库版本
- C++ 中的 NAPI 本机模块正在部分执行(包含 std::thread)
- 节点本机模块 - 链接静态库
- Nodejs本机模块 - 如何删除调试符号
- 是否可以在本机C++模块之间共享数据
- Android Studio 中的多个本机模块
- 将未签名的字符串从本机客户端模块发送到浏览器
- NodeJS C++本机模块:创建指定的线程池
- NodeJS本机C ++ npm模块内存错误,开罗图像处理
- ReactNative公开C++本机模块
- 可用于本机模块的库
- 如何将事件处理程序附加到本机 Node.js 模块中的进程出口?