Should you use Expo for React Native in 2023? 🤔 React Native CLI vs Expo

Simon Grimm
7 Mar 202312:39

Summary

TLDRIn this video, Simon from galaxies.dev explores whether you should use Expo or the traditional React Native CLI in 2023. He discusses the benefits of Expo, including quick setup, native functionality, cloud builds, and ease of use for beginners. He also highlights Expo's limitations, such as challenges with certain native modules and in-app purchases, but explains how Expo has evolved to address these issues. The video offers valuable insights for both novice and experienced developers, helping you decide the best approach for your React Native project.

Takeaways

  • 😀 Expo is ideal for beginners as it simplifies the process of building, testing, and deploying React Native apps without dealing with native code.
  • 🤔 The traditional React Native CLI approach provides more control but requires manual setup and management of native code and dependencies.
  • 🚀 Expo allows for quick local previews via the Expo Go app and cloud-based builds through Expo Application Services (EAS), saving time on setup.
  • 📱 Expo eliminates the need for a Mac to build iOS apps by offering cloud builds through EAS, which is a huge advantage for non-Mac users.
  • 🔧 Expo now supports custom native modules, which resolves past limitations where developers couldn't easily integrate certain native features.
  • 🛠️ The pre-build workflow in Expo replaces the older 'eject' process, making it easier to customize native projects without breaking the app.
  • 💡 Expo enables over-the-air updates, meaning you can update your app's JavaScript, styling, and images without going through app store review processes.
  • 🖥️ React Native CLI is better suited for apps requiring deep customization of native modules and complex native code integration.
  • 🎯 For most apps, Expo is the recommended choice due to its ease of use, cloud-building capabilities, and flexibility in the development process.
  • 📝 If you're unsure about your app's future needs or dependencies, Expo provides a safe and fast way to start, with the option to switch to a more customizable solution later.

Q & A

  • What is the main question developers face when starting a React Native project in 2023?

    -The main question is whether to use **Expo** or the **React Native CLI** to begin the project.

  • What is the difference between using Expo and the React Native CLI?

    -Expo simplifies mobile app development with a suite of tools and services, including Expo Go for previewing apps, cloud builds with EAS, and OTA updates. The React Native CLI, on the other hand, gives developers full control over the app's native configurations and dependencies.

  • What are some of the key features of Expo that make it appealing to developers?

    -Key features of Expo include Expo Go for fast previewing on devices, a comprehensive Expo SDK for accessing native device features, cloud building and over-the-air updates through **EAS**, and the ability to develop for the web as well as mobile.

  • How does Expo help developers without a Mac when building iOS applications?

    -Expo's **EAS** (Expo Application Services) allows developers to build iOS applications in the cloud, so they don't need a Mac to compile or deploy an iOS app.

  • What challenges were there with Expo in the past, and how have they been addressed?

    -Some past challenges with Expo included limited support for native modules, clipboard access, and push notifications. These issues have been addressed with new packages and integrations, like **expo-clipboard**, **expo-linking**, and support for push notifications with services like OneSignal.

  • What is the new solution to the problematic Expo eject process?

    -The new solution to the eject process is **Expo Prebuild**, which generates a native iOS/Android project that can be customized using Xcode or Android Studio, replacing the old eject process that often caused issues.

  • What are the two Expo workflows, and how do they differ?

    -Expo offers two workflows: the **managed workflow**, where Expo handles most of the native code and configuration, and the **bare workflow**, which gives developers more control by generating native projects that can be customized directly.

  • When should you choose React Native CLI over Expo?

    -You should choose React Native CLI if your project requires advanced customizations that Expo doesn't support, such as deep native module integrations or if you need full control over your app's native dependencies and configurations.

  • What benefits do Expo's over-the-air (OTA) updates provide to developers?

    -Expo's OTA updates allow developers to push updates (JavaScript, images, styling) directly to users without needing to go through the review process in the app stores. This makes it easier to fix bugs or add small features quickly.

  • How does Expo support web development alongside mobile development?

    -Expo supports web development by allowing you to reuse your React Native codebase to build web applications. This enables developers to create cross-platform applications with minimal code duplication, including both mobile and web.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This

5.0 / 5 (0 votes)

Related Tags
Expo React NativeMobile DevelopmentReact Native CLIApp Development2023 TrendsBeginner GuideExpo FeaturesReact Native WorkflowMobile Dev ToolsApp BuildingExpo EAS