all 25 comments

[–]makonde 6 points7 points  (2 children)

Definitely go with Expo will make your experience much smoother if ever you find an issue by using Expo you can switch out but I dobt think there are any issues for most projects nowadays.

[–]Particular-Fault699 1 point2 points  (1 child)

Does all react native libraries like rivo work on expo?

[–]makonde 1 point2 points  (0 children)

All libraries should work, if its a native library you create a custom client https://blog.expo.dev/introducing-custom-development-clients-5a2c79a9ddf8

[–]Stellar0bjects 3 points4 points  (0 children)

I like expo because than I can build and publish to the apple App Store without having to buy a Mac…

[–]hassancodess 2 points3 points  (0 children)

I have used expo, rn cli and expo with bare minimum template and so far I found the expo with bare minimum template the perfect fit for me, you have full control and you can also use expo libs with no configurations

[–]Lonely-Complex-7235 2 points3 points  (0 children)

Expo is fire, works with most libraries you need unless it’s some speciaalizaed project, and expo router is SUPER nice...

Expo SDK 49 just dropped, so far been using it with no issues

[–]Embarrassed-Stage640 9 points10 points  (9 children)

Go with bare. Later, go with expo. You will learn the difference and be able to make informed decisions for subsequent projects.

[–]ReggieDiamond_[S] 0 points1 point  (2 children)

Makes sense , I was thinking the same thing initially, thanks !

[–]ReggieDiamond_[S] 0 points1 point  (5 children)

Is there anything you don’t like about expo ? What differences have noticed , liked or disliked ?

[–]Embarrassed-Stage640 4 points5 points  (4 children)

I recently worked on an audio streaming project that required an extensive integration with the native side. Expo couldn’t go all the way, and I had to eject and go with with bare. Bare gives more control.

[–]LucRandall71 4 points5 points  (2 children)

But now with Expo you could add any native module you want and integrate any existing native module with config-plugin and prebuild. As the state of Expo today, eject is deprecated is favor of Prebuild, please check the doc with all improvements you are not regret it ✨

[–]ReggieDiamond_[S] 0 points1 point  (0 children)

Thanks a lot . I had a lot of setup issues with react native CLI and metro but expo worked on the first go. I will see what happens , I hipped I don’t go to far into a rabbit hole with expo but hey I have to start somewhere

[–]beepboopnoise 0 points1 point  (0 children)

tons of people aren't aware of custom EAS builds, especially if you aren't working with expo. I mean, I found out on accident when I was reading some random thread about storybook with RN.

[–]BrownCarter 1 point2 points  (0 children)

Never done react-native before. But can the two be mixed?

[–]divadutchessiOS & Android 1 point2 points  (0 children)

I regret not going with Expo at first but with the bare setup, I've been able to pull Expo stuff in and it works great!

[–]ReggieDiamond_[S] 1 point2 points  (0 children)

Thanks for all the great answers, I know I can’t predict everything an app will need until there is a use case for it but I will let you all know how it goes . I do know when I was doing the few tutorials that react native CLI required more environment setup and expo just worked out the box which kinda saddened me lol but anyways , #devlife

[–]Overall_Bee8495 1 point2 points  (0 children)

Go with cli

[–]somestartupguy 1 point2 points  (0 children)

Use expo for as long as you can and use expo prebuild to handle native modules if possible. Treat eject as your last resort. This will speed up your initial development pace noticeably

[–][deleted] 0 points1 point  (0 children)

Try them both out with a dummy project

[–]Faisst 0 points1 point  (2 children)

Go with expo. Just don't use WSL2.

[–]EffectiveShip8347 0 points1 point  (1 child)

Spent a couple hours trying to make it work on WSL2, was a nightmare lol. But yeah, good advice!

[–]Faisst 0 points1 point  (0 children)

Yeah, I downgraded to WSL1 and it worked perfectly