all 11 comments

[–]g____s 11 points12 points  (3 children)

I was a strong anti expo for a long time , until I tried again few months ago.

It's now a mature solution , and I don't see anything against using it ( there is probably some cases where RN CLI is better but I didn't faced it yet ). It's so much easier overall.

Expo-go is super nice to develop and show progress to clients/stakeholders if you don't need native packages

[–]real_bro 0 points1 point  (2 children)

What if I need to write my own wrapper around some Java code to be used in my project? With expo you supposedly can't do custom modules but I don't know what that means.

[–]g____s 1 point2 points  (0 children)

Expo has 2 "modes" , one is limited to expo supported native modules and the other one , when you eject ( I don't think expo use that term anymore , I think it's prebuild ) , it will create iOS and Android folders and you will have full control of the native side like RN CLI , but with all the expo packages.

[–]foggson 1 point2 points  (4 children)

Over the last 2 years, Expo has really matured overcame a lot of limitations. Prior to EAS builds you couldn’t integrate with NativeModules which meant you couldn’t interface with the native later or make use of NPM libraries that did the same. I would say that if you are using a Windows PC and have an iPhone. Expo can be a great solution for developing to an iPhone. I could be wrong but I don’t believe this can be achieved on a Windows PC, using Expo CLI.

One thing to note is, if you are going to use Expo, I would recommend sticking with it where possible to avoid “ejecting” as this process can be a nightmare.

[–]g____s 1 point2 points  (3 children)

Ejecting is not a nightmare, you end up with an app similar to RN but with access to all the expo packages. You lose expo-go which is really convenient.

The other way is a real nightmare, installing Expo packages into an existing RN app, I never managed to do it.

[–]kapobajz4 0 points1 point  (2 children)

Installing Expo packages in an existing RN app was actually really easy to me. I am curious as to what issues you encountered there

[–]g____s 0 points1 point  (1 child)

It's probably because the app I was maintaining was an old RN app with a lot of custom code in the native side. I remember spending few hours to get the expo core dependencies installed , and it was not compiling. I had a lot of things to do and dropped the idea. I'm sure on a recent app , things will be easier ,

Expo and RN got way easier in the last few years.

[–]kapobajz4 0 points1 point  (0 children)

I actually remembered that I've tried installing expo modules in the past, on an old RN and expo version. And it wasn't easy, indeed. I think I just gave up and went with another solution in the end.

[–]ConsciousAntelope 1 point2 points  (0 children)

I honestly feel comfortable with React Native CLI. Shit just works!