App

    1. Expo Ecology and Core Concepts

    Members only · Non-members can read 30% of the article.

    Published
    November 17, 2025
    Reading Time
    2 min read
    Author
    Felix
    Access
    Members only
    Preview only

    Non-members can read 30% of the article.

    In the first chapter, we first quickly establish the overall understanding of Expo from three dimensions: SDK / Expo Go / EAS, and its advantages and trade-offs in real projects.

    What is Expo? why choose it

    Expo is a development platform and service collection built around React Native, with the goal of allowing you to develop native applications efficiently "just like you do on the Web." It provides: on top of React Native:

    • Faster project initialization and development experience (start with zero or less configuration).
    • Highly consistent cross-platform API (camera, notifications, file system, sensors, etc.).
    • Integrated build, release and hot update service (EAS suite).

    Bottom line: If you want to be less entangled with native build details and get your product into the hands of users faster, Expo is a great choice.

    Quick start example:

    # 1) Initialization
    npx create-expo-app my-app
    
    # 2) Enter the project and start the development server
    cd my-app
    npm run start # Equivalent to npx expo start
    
    # 3) Install Expo Go on your mobile phone to scan the QR code to preview (or use iOS/Android emulator)

    You will get a "ready to run" RN application, and common native dependencies (such as icons, device information, screen brightness, etc.) can be used directly through the Expo SDK.

    Expo Ecosystem Overview: SDK / Expo Go / EAS

    Expo’s ecology can be understood as three layers:

    1. Expo SDK (development library)

    Expo SDK is a set of JS/TS modules that encapsulate native capabilities, covering common application capabilities:

    • UI and themes: expo-router, expo-font, @expo/vector-icons, etc.
    • Devices and systems: expo-device, expo-battery, expo-haptics, expo-application.
    • Multimedia: expo-image, expo-camera, expo-av.
    • Sensors: expo-sensors (acceleration, gyroscope, magnetometer, etc.).
    • Notifications and permissions: expo-notifications, expo-permissions (some permissions have been built into each module).
    • Storage and files: expo-file-system, expo-secure-store.

    Installation and use are usually very straightforward:

    npx expo install expo-notifications
    import * as Notifications from 'expo-notifications'
    
    await Notifications.scheduleNotificationAsync({
      content: { title: 'Hello Expo' },
      trigger: { seconds: 1 }
    })

    In the Managed workflow (the two main Expo workflows will be discussed in the next chapter), most SDK modules can be "plug and play", reducing the burden

    Members only

    Subscribe to unlock the full article

    Support the writing, unlock every paragraph, and receive future updates instantly.

    Comments

    Join the conversation

    0 comments
    Sign in to comment

    No comments yet. Be the first to add one.