Expo が『プロのモバイル開発基盤』に進化した
Expoは2022年頃まで「学習用・プロトタイプ向け」というイメージでしたが、SDK 49〜52(2024〜2025年)で大幅進化。Bare Workflow廃止、Continuous Native Generation(CNG)の標準化、EAS Build/Update/Submitの統合により、個人開発から大規模エンタープライズまで対応するモバイル開発基盤として定着しました。Discord・Shopify・Pizza Hut等の本番採用例が公開されています。
採用すべき5つのシグナル
- React Nativeでクロスプラットフォーム開発したい
- Native Code直接いじりたくない(Swift/Kotlin回避)
- OTAアップデート(App Store審査回避)で即配信したい
- 個人開発から本番運用まで一貫した基盤が欲しい
- TypeScript・React経験を活かしたい
主要機能(SDK 51+)
- EAS Build: クラウドビルド(iOS/Android)・ローカル不要
- EAS Update: OTA配信・App Store審査回避
- EAS Submit: ストア提出自動化
- Expo Router: ファイルベースルーティング(Next.js風)
- Continuous Native Generation: 設定ファイルからNative構成自動生成
- New Architecture対応: Fabric・TurboModules
React Native CLI/Expo比較
React Native CLI: 完全カスタマイズ・Native知識必要・複雑。
Expo Managed: 簡単・Native禁止だった(旧)→ CNGで解消。
Expo + EAS: 簡単 + Native対応 + ビルド/配信統合・本番OK。
使い分け: 新規はExpo + EAS推奨・既存React Native CLIプロジェクトは段階移行。
実装パターン
(1) セットアップ: npx create-expo-app
(2) Expo Router: app/ディレクトリでファイル単位ルーティング
(3) カスタムNative: expo-modules-coreでConfig Plugin
(4) EAS Build: eas build --profile production --platform all
(5) OTA配信: eas update --branch production
料金感(実務目安)
- Expo SDK: OSS・無料
- EAS Free: 月30 build・限定機能
- EAS Production: $19/月で30 build/月
- EAS Enterprise: 個別契約
- 無料Apple Developer/Google Play料金は別途
本番採用の判断基準
- 本番実績: Shopify・Discord・各種スタートアップ
- パフォーマンス: ネイティブと同等レベルに改善
- Native機能: CNGで柔軟・特殊要件はExpo Module作成
- ベンダーロックイン: OSSベースだがEAS依存度はあり
- SDK更新: 半年ごとのメジャー更新・追従が必要
実装で詰まる3つの落とし穴
- CNGの理解:
android/・ios/をいじってはいけない - OTA制限: ネイティブコード変更時はOTA不可・ストア提出必要
- SDK更新: 半年ごとのメジャー更新で破壊的変更
30日学習プラン
- 1週目: Expo環境構築・Expo Routerで画面遷移
- 2週目: ネイティブ機能(カメラ・通知・位置情報)統合
- 3週目: EAS Build/Updateでビルド・配信
- 4週目: 本番デプロイ・App Store/Google Play提出
関連リンク
Tauri 2.0は Tauri 2.0深掘り、Reactパフォーマンスは Reactパフォーマンス、Next.jsは Next.js深掘り を参照してください。モバイル開発全般は モバイル開発ツール選び方 もどうぞ。