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.
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
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 ;)
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 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
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.
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?
I've never used expo for any of my react native projects and thanks to this discussion, I even have more reasons not to do so 😅.
you should definitively reconsider, ejected Expo is better than plain RN to me for many reasons
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 :-)
@@thisweekinreact Can you please mention some of them?
@@thisweekinreact Yes please. Mention these reasons...
i used expo when i was learning react native, then never again, but it's actually super cool, I should try it again
2:20 agree completely. you'd have a hard time integrating native modules with expo if they're needed.
I like this discussions. Keep doing them.
Watch the whole Video atleast
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.
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
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
whats the final result which one should we choice
I totally relate to this. Ejecting an expo app can be hell 😅. Love these discussions, William. Keep them coming!
How can ejecting be more hell than a raw RN project? what is more complicated exactly?
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.
Its nice to hear you two talking
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.
really depends what your app is supposed to do, if expo fits the bill why not, you will likely always hit a wall with expo eventually
Tu as des tutos en français?
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 ;)
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.
did you try eas build to reduce the size of the managed app? See ua-cam.com/video/hhOAK9Rk1pk/v-deo.html
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
Comment diminuer la taille d'une application Expo
maintenant avec eas build ou run:ios android tu has juste lencode natif dont tu as besoin regarde du coté de SDK 42
@@wcandillon merci beaucoup. Je viens de migrer sous expo 42.
@@wcandillon Je peux devenir votre élève svp !!!
this was a great talk... i enjoyed it
What is your take on flutter vs react native?
Now that Fuschia OS is open to public, it would be interesting to know the future of RN
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.
Damn I remember watching this when it first came out 😂 expo is the way now
haha yes 100% :)
for profesional project I prefer to use react native CLI
why?
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?
flutter?
I think this debate was pretty much solved when they decided you need to login to their platform to use expo.
I'm not going to use this garbage.
biased...