DEV Community

Cathy Lai
Cathy Lai

Posted on

Create a React Native Project (bun + Expo development built)

If you’ve been building React Native apps using Expo Go, you’ve probably noticed the limitations — especially when you start needing custom native modules or deeper integration.

With Bun, a super-fast JavaScript runtime and package manager, you can spin up a new React Native project with a full development build (not Expo Go) in minutes.

Let’s walk through it step by step 👇


💡 Why Use Bun?

Bun replaces npm, yarn, and npx — it’s faster, leaner, and comes with everything you need:

  • Ultra-fast dependency installs
  • Built-in TypeScript & JSX support
  • Native support for bunx (a drop-in replacement for npx)
  • Perfect for modern Expo + React Native workflows

🧰 Prerequisites

Before you start, make sure you have:

  • macOS with Xcode installed (for iOS builds)
  • Node.js 18+ (Bun works alongside Node)
  • Watchman (brew install watchman)

Optional but recommended:

brew install cocoapods
Enter fullscreen mode Exit fullscreen mode

⚡ Step 1: Install Bun

Run this in your terminal:

curl -fsSL https://bun.sh/install | bash
Enter fullscreen mode Exit fullscreen mode

Restart your terminal, then verify:

bun -v
Enter fullscreen mode Exit fullscreen mode

🌱 Step 2: Create a New Expo Project with Bun

Let’s use bunx (like npx but faster) to create a new Expo project:

bunx create-expo-app@latest dom-app
cd dom-app
Enter fullscreen mode Exit fullscreen mode

This scaffolds a fresh React Native project with Expo.


🧩 Step 3: Add the Dev Client

The Expo Dev Client lets you run your app on a physical device or simulator without Expo Go — perfect for custom native modules.

bunx expo install expo-dev-client
Enter fullscreen mode Exit fullscreen mode

🏗 Step 4: Prebuild Native Projects

This step generates the native iOS and Android projects (just like running npx expo prebuild).

bunx expo prebuild
Enter fullscreen mode Exit fullscreen mode

Now you’ll see new /ios and /android folders created.


🧑‍💻 Step 5: Run the iOS Development Build

Finally, run your app in development mode:

bunx expo run:ios
Enter fullscreen mode Exit fullscreen mode

This will compile the native iOS app and open it in the simulator. You can now debug using Metro (the local React Native bundler) — no Expo Go required.


🎉 You’re Done!

You’ve just:

  • Created a new React Native project using Bun
  • Set up a custom development client
  • Generated native builds with Expo prebuild
  • Run your project on iOS directly 🎯

🔍 Bonus: Run on Android

If you’re on macOS and have Android Studio set up:

bunx expo run:android
Enter fullscreen mode Exit fullscreen mode

⚙️ Common Commands

Command Description
bunx expo start Start the Metro bundler
bunx expo run:ios Build & run iOS app
bunx expo run:android Build & run Android app
bunx expo prebuild Rebuild native projects after config changes

🧠 Final Thoughts

Using Bun with Expo Dev Client gives you the best of both worlds:

  • Expo’s developer experience
  • Real native project control
  • Lightning-fast installs & commands

It’s a great setup for indie developers or teams who want speed without sacrificing native flexibility.


✨ TL;DR

curl -fsSL https://bun.sh/install | bash
bunx create-expo-app@latest dom-app
cd dom-app
bunx expo install expo-dev-client
bunx expo prebuild
bunx expo run:ios
Enter fullscreen mode Exit fullscreen mode

Fast. Native. Bun-powered. 🧈

Top comments (0)