Comment by htormey
9 years ago
I love expo to bits but their are many React Native scenarios where it’s not going to work.
One example would be if an app uses third party libraries that rely on native code. Now on the surface this might sound like an exotic requirement but consider that most mobile apis for third party services will probably wrap objective c or Java code.
An example of this came up for a friend who was building a github app. He had to eject from expo because the github mobile api wasn’t included in expo and required native code for authentication.
React Native fully supports the use of abitrary native code. You just write a small native module and then port it into the JS side
You can even work with things like Promises etc across native boundaries
Thats true (I've wrapped native code before) but if you use any native code you can’t use expos over the air updates or the qr code scanner. So it wouldn’t solve the parent comments problem, in that scenario, which is actually quite common.
Also, the last time I checked ejecting from expo, which you will need to do to use native code, was a bit of a pain. That was a few weeks ago so maybe they have stream lined the process since then.
Yes, but that's not true of Expo, is it?
I understand that, but suggesting it as a tool for prototyping and easily sharing apps with others (which was the concern I was responding to) does not warrant multiple down votes, unless the readers here are absolute assholes?
I didn’t down vote you. However it’s very likely that the guy isn’t using React Native and if he was he’d most likely know about expo and its limitations.