我們有很多用跨平臺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