Which is Better? Expo CLI Tool or React Native CLI
Expo CLI Tool
Expo is a third-party service. It removes a lot of complexity, and provides lots of convenience & utility features.
In other words, It is a thin extra layer between your app and the vanilla React Native.
For detail, you can find the first step here “https://expo.io/learn“.
React Native CLI
You can do fine-grained control for raw React Native app. However, you need to setup/manage development environment manually…
It requires high skills and deep knowledge about developments.
Which is Better?
For beginners, definitely “Expo CLI Tool“. Because it’s so much more convenient!
Then, if you need the full flexibility for some reasons, you can switch to “React Native CLI" by “eject“.
How to Install Expo CLI Tool
Step 1. download Node.js.
Step 2. Get the command line tool.
After you install the Node.js, execute the following command to install the Expo cli.
npm install expo-cli --global
Step 3. Create a project.
Move to your appropriate directory where you want to create a project folder. Then execute the following command.
cd ./react_native expo init my-new-project
Then, you are asked which template you use. Here, as an example, select “blank"
? Choose a template: (Use arrow keys) ----- Managed workflow ----- > blank a minimal app as clean as an empty canvas blank (TypeScript) same as blank but with TypeScript configuration tabs several example screens and tabs using react-navigation ----- Bare workflow ----- minimal bare and minimal, just the essentials to get you started minimal (TypeScript) same as minimal but with TypeScript configuration
If the success message like below is displayed, your installation is completed.
Your project is ready! To run your project, navigate to the directory and run one of the following npm commands. - cd my-new-project - npm start # you can open iOS, Android, or web from here, or run them directly with the commands below. - npm run android - npm run ios # requires an iOS device or macOS for access to an iOS simulator - npm run web