Development Environment Options
When setting up React Native, you have two main paths: Expo and bare React Native. Expo is the recommended way for beginners because it handles most of the complex setup for you. You don't need to install Xcode or Android Studio to start — just Node.js and the Expo CLI.
A bare React Native project gives you more control but requires native development tools. You'll need Xcode for iOS development and Android Studio for Android. This is useful when you need to use native modules that Expo doesn't support, but it adds complexity.
Setting Up Expo (Recommended)
To get started with Expo, you need Node.js installed on your computer. Node.js is a JavaScript runtime that lets you run JavaScript outside the browser. Download it from nodejs.org and install the LTS version.
# Check if Node.js is installed
node --version
# Install Expo CLI globally
npm install -g expo-cli
# Create a new project
npx create-expo-app MyProject
# Start the development server
cd MyProject
npx expo start
That's all the setup you need. No native tools, no complex configuration. Expo handles the build process, app signing, and deployment for you. It's the fastest way to go from idea to running app.
Setting Up Bare React Native (Advanced)
If you need native modules or full control over the native code, you'll set up a bare React Native environment. This requires more steps and tools. You need Node.js, Watchman (macOS), Xcode (for iOS), and Android Studio (for Android).
# Install React Native CLI
npm install -g react-native-cli
# Create a new project
npx react-native init MyNativeProject
# Run on iOS
cd MyNativeProject
npx react-native run-ios
# Run on Android (start an emulator first)
npx react-native run-android
This setup is more involved because you're working directly with the native build systems. You'll need to configure Gradle for Android and CocoaPods for iOS. It's powerful but comes with a steeper learning curve.
Essential Tools
Regardless of which path you choose, there are some tools that make React Native development easier. A good code editor is essential — most developers use VS Code with the React Native Tools extension. It provides syntax highlighting, IntelliSense, and debugging support.
You should also install the Expo Go app on your physical device for testing. For debugging, React Native has built-in developer tools that you can access by shaking your device or pressing Cmd+D on iOS / Cmd+M on Android. This opens a menu with options for debugging, reloading, and inspecting your app.
Testing on Simulators
Simulators let you test your app on your computer without a physical device. The iOS Simulator comes with Xcode (macOS only), and the Android Emulator comes with Android Studio. Both are free and work great for development.
However, always test on a real device eventually. Simulators can't replicate everything — performance, touch gestures, camera, GPS, and other hardware features work differently on real devices. Use simulators for quick iteration and real devices for thorough testing.