3 ms·
I find React Native dev/build environment quite straightforward (and I'm not even a "JavaScript developer"), so what exactly Expo adds to that? Slight off-topi
by zerr 10y ago
I find React Native dev/build environment quite straightforward (and I'm not even a "JavaScript developer"), so what exactly Expo adds to that?
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.
- nikki93 10y agoRe: 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.cpp https://github.com/exponent/exponent/blob/master/cpp/EXGL.cp... Here's the code
- jesseruder 10y agoOne of the big advantages is that you can develop for your iOS device using Linux or Windows.
- evv 10y agoThe 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.
- zerr 10y agoAs I remember, DropBox put some tool/lib for making plumbing (JNI & friends) easier.