Actually, I am a beginner to react-native as per my knowledge there are two options for me to install react native that is react-native CLI and Expo CLI. I am confused about which is better for beginners for installation and usage of React Native app development and which has more support for beginners
 
    
    - 4,516
- 4
- 15
- 40
 
    
    - 309
- 5
- 19
- 
                    basically you can use both i started with React native only but when I got to know expo - whenever I need to develop an app i use expo because it is easier to setup and get your simulator running - also there is much that the expo team does / implements for you. – yesIamFaded Apr 06 '20 at 14:00
- 
                    1@yesIamFaded Thank You Sir For Your valuable information and also which one is the best recomended one for beginners ( By you ) – Belgin Android Apr 06 '20 at 14:13
- 
                    Does this answer your question? [What is the difference between Expo and React Native?](https://stackoverflow.com/questions/39170622/what-is-the-difference-between-expo-and-react-native) – Ben Butterworth Apr 06 '20 at 15:54
- 
                    @BelginAndroid u can definitly go with expo, if you at some point need to you can always eject. – yesIamFaded Apr 07 '20 at 08:49
2 Answers
React Native CLI:
Advantages:
- You can add native modules written in Java/Objective-C, so you have full control of your application.
Disadvantages:
- Needs Android Studio and XCode to run the projects 
- You can't develop for iOS without having a mac 
- If you want to share the app you need to send the whole - .apk/- .ipafile
- Does not provide JS APIs out of the box, e.g. Push-Notifications, Asset Manager, they need to be manually installed and linked with yarn for example. 
- Setting up a working project properly take more time. 
Expo:
Advantages:
- Setting up a project is easy and can be done in a few minutes. 
- Sharing the app is very easy (via QR-code or link). 
- No build necessary to run the app 
- Integrates some basic libraries in a standard project (Push Notifications, Asset Manager, etc.) 
- You can eject it to ExpoKit and integrate native code continuing using some of the Expo features, but not all of them 
- Expo can build - .apkand- .ipafiles (distribution to stores possible with Expo)
Disadvantages:
- You can't add native modules (probably a gamechanger for some) 
- You can't use libraries that use native code in Objective-C/Java (eg: - react-native-fbsdk)
- Large APK Size 
- Debugging in ExpoKit (with native modules) is a lot more complicated since it mixes two languages and different libraries. 
- Choosing between Expo and React Native CLI depends on your application requirements. 
 
    
    - 4,503
- 4
- 21
- 42
 
    
    - 238
- 1
- 3
- 11
- 
                    
- 
                    This answer feels very similar with this [answer](https://stackoverflow.com/a/49324689/4110257) from another question with no reference – Dev Apr 04 '23 at 18:28
I prefer React Native CLI, expo has some good things but it has a lot of limitations and probably you will regret to use it in the future.
Check this website: https://apiko.com/blog/expo-vs-vanilla-react-native/
 
    
    - 1,735
- 1
- 10
- 18