Same. There is already a layer between React Native and native codes. Of course there maybe some advantages of Expo, but adding another layer makes things more complicate. I started reading Android Docs to grasp mobile development better, to remove limitations of RN, at least for android :-)
Not really agreeing that Expo is more complicated than plain RN for advanced, non MVP apps. I don't build top10 appstore apps but I don't see any reason to not start most apps using Expo in 2020: - OTA and quality modules are pre-installed for you in a good way - Ejecting is not more complicated than raw RN - You can still run in Expo client after ejecting by stubbing the extra native libs you need - OTA still works after ejecting - It's easier to upgrade an Expo ejected app: upgrade the Expo SDK, delete platform code, re-eject, compare with git diff: much easier than going through changelogs - Web support - Deploy previews / QRCode - ... I'd rather do the opposite and ask what exactly are the advantages to go first with a naked RN app rather than a Bare expo app. In both cases, you can install/remove native code. I also have migrated an app from RN to Expo. By chance, the equivalent APIs existed in Expo so it became a managed Expo app, but I could have made it a bare Expo app, would still have interesting benefits (OTA, QRCode, app deploy previews on PRs, keep ability to run in Expo client)
@Karl Marx Lopez that's true, Expo is not suitable for React-Native-Library, Firebase or other "core libraries" like Realm and things like that, but they are likely to fix that. However for other cases I don't think it's for MVP/POC And having an Expo ejected app does not forbid you from setting up Fastlane/Bitrise, it comes in addition to OTA.
Hello William, this is a nice topic, but if you can be showing some code previews, screenshorts, notes from articles online and examples it will make the contents of the video great
Systems like Visual Studio App Center allow automatic building and distribution of RN CLI Apps and native Apps, it can build and distribute on every push, not as seamless as Expo but largely solves the issue you have brought up.
Yeah, it was quite difficult before. Now, bare workflow is awesome. But when there was Expokit, it was extra platform I had to learn. I couldn't fix bug without patching to Expokit.
Would prefer native react native over Expo any day of the week, more control and its just clean... Hopefully William will skip using Expo in his demos in the near future ;)
I'm really new to this ecosystem, and really lost too about expo vs not expo. In the industry, is expo not used as a lot of people seems to say that expo is ""only"" for prototyping ?
I think it depends on the app. I’ve been working with a team that’s been making a more bare bones app that’s mostly a library of web pages that are available offline. The development team has been using Cordova and Vue because it’s not a complicated app. They can export both android and iOS from the same base templates. If you’re not doing anything that complicated, then expo is great because it simplifies things. If your app is, for example, a native shell for a website, then use expo. You’ll know when you need to eject and go to native cli
Expo have many cool library that can be used with Bare RN.. I still use bare RN bcus of some constrain from Expo.. did not use expo for few years now.. maybe i should try expo again
Hi. I use expo as I've only the low end pc configuration... While building a standalone app from expo, the size is much much bigger... Please, please, 🙏🏻 I need a video on reducing size of expo app without using Android studio or virtual device.... I can't switch to react native cli... Please, a video on it.
Expo guys can explain benefits over RN cli, but RN cli guys always tell about some benefits from other universe like religion. Some emotional messages covered by unconstructive messages.
I hate that React Native tries to shove expo to devs all over the place. Imo they should be decoupled as far as possible if RN to be free and independent.
they are already decoupled, why do you hate that? don't you feel it's nice to use snacks in RN website docs? would you prefer to have no executable preview instead?
Sad thing is that a new competitor will come soon -KMP, React native might sustain quite long as react is omnipresent in the tech industry in terms of jobs and usage and experienced typescript/js devs are in abundant compared to dart. But i am really excited about writing Kotlin for both ios and android :D so unless flutter brings it's stable web version, it might even disappear slowly like angular even before overtaking react.
Flutter needs to get serious about their web game and adopt an XML/HTML style syntax for their UI along with CSS support. Until then, React + RN is still the better choice.