Re: the C++ thing.
Yup you can! That's actually how Expo's `GLView` (which exposes OpenGL ES as a WebGL'y API in React Native's JS context) works. The binding is done in common C++ code for both iOS and Android. Calling to that from Obj-C is straightforward, for Java you use JNI. This is binding is done manually and built once (not auto-exposed), then you can use the GL stuff in JS!
https://github.com/exponent/exponent/blob/master/cpp/EXGL.cp... Here's the code
The native build environment is tricky for a few reasons. On iOS it takes a slow download of Xcode and simulator, plus an Apple Developer account. Before CRNA, there was no open-source way to get start building an iOS app on Windows or Linux. As for Android, there are a long list of native build dependencies and environment variables that need to be correctly established before you can build your app.
It is definitely possible to create a cross-platform C++ library to share performant across platforms, but unfortunately you need to do the plumbing for each platform by hand.
As I remember, DropBox put some tool/lib for making plumbing (JNI & friends) easier.
Re:Introducing Create React Native App
by jesseruder on Monday March 13, 2017 @05:04PM
(#13862359)
One of the big advantages is that you can develop for your iOS device using Linux or Windows.
Slight off-topic: is it possible to use C++ code cross-platform way for performance-critical parts? i.e. to have single C++ code for iOS and Android, in React Native.