フレームワーク プログラミング ソフトウェア 公開日 2026.05.15 更新日 2026.05.15

Expo とは何か?React Native のアプリ開発を加速する事実上の標準フレームワーク

Expo は React Native のアプリ開発を `素の React Native より圧倒的に楽にする』 ためのフレームワーク + SaaS です。Expo SDK / Expo Router / EAS Build / EAS Submit / OTA(Over The Air)更新まで揃い、`素の RN を使うべきか Expo にすべきか』 は事実上 `Expo を選ぶ』 が標準となりました。仕組みと採用判断軸を整理します。

先に要点

  • ExpoReact Native のアプリ開発を加速する フレームワーク + クラウドサービス。「素の React Native の面倒な部分(ネイティブビルド・OTA 更新・配布)」 を、`expo』 ベースのテンプレと EAS(Expo Application Services)で肩代わりする。
  • 提供するのは ` Expo SDK(カメラ / 位置情報 / 通知 / センサー等の標準 API)』 `Expo Router(ファイルベースルーティング)』 `EAS Build(クラウドビルド)』 `EAS Submit(ストア提出)』 `EAS Update(OTA)』 など。
  • ` 素の React Native を選ぶ理由は急速に減っている』React Native 公式の `Get Started』 ガイドも `Expo を使ってください』 がデフォルトに変わっており、2026 年現在は `Expo を使う = React Native の標準ルート』。
  • 本命の使い所は ` iOS / Android の両対応モバイルアプリ』。Web 版も `Expo for Web』 で対応可能(ただし PWA / SPA 中心の場合は Next.js / Remix のほうが向く)。

Expo って結局何? React Native だけじゃダメなの? `Expo SDK と Expo Go の関係は?』 ── モバイルアプリを TypeScript で開発する人にとって、Expo は避けて通れない名前です。

ざっくり言うと、Expo は React Native でアプリを作るときに、開発・ビルド・配布のすべての段階を楽にしてくれるフレームワーク + クラウドサービス</strong> です。 素の React Native』 では、Xcode を開いて Provisioning Profile を…』 Android Studio で署名鍵を…』 のような ネイティブ開発の重い部分 を毎回やる必要がありました。Expo はそのほとんどを クラウドビルド標準テンプレ で肩代わりしてくれます。

この記事では、2026 年 5 月時点の Expo SDK 50+ をベースに、提供機能・素の RN との違い・EAS の役割・採用判断軸 を整理します。 仕様は活発に変化しているので、最終確認は 公式ドキュメント を見るのが安全です。

Expo が提供する主要機能

Expo の主要機能を1枚で見渡します。

機能 中身 代表用途
Expo SDK カメラ / 位置 / 通知 / センサー / Auth など標準 API OS 機能アクセス全般
Expo Router ファイルベースルーティング(Next.js 風) 画面遷移とナビゲーション
Expo Go ` 開発用のスマホアプリ QR コードで自分の端末ですぐ動かす
Development Build ` カスタム Expo Go』 をビルドする仕組み ネイティブモジュールを含む実機検証
EAS Build クラウドで iOS / Android ビルド Xcode / Android Studio を持たずビルド
EAS Submit App Store / Play Store への提出代行 ストア提出の手間を削減
EAS Update OTA(Over The Air)アップデート ` ストア審査なしで JS を差し替え』
Continuous Native Generation ` ネイティブ部分はビルド時に再生成』 `ios / android』 を git に持たなくていい

`React Native 単体ではない、エコシステム全体を提供するサービス』 という位置づけです。

基本の流れ — 最初の Expo アプリ

`どう動くか』 を最小コードで確認します。

# プロジェクト作成
npx create-expo-app@latest my-app
cd my-app

# 開発サーバ起動
npx expo start
// app/index.tsx
import { Text, View } from 'react-native';

export default function Home() {
  return (
    <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
      <Text>こんにちは Expo!</Text>
    </View>
  );
}

これだけで ` 自分のスマホで Expo Go アプリを開いて QR を読むと、すぐ動く』 という体験が成立します。

ホットリロード

` 変更を保存すれば、実機の画面が即時に更新』。Web 開発に近いフィードバックループ。`実機を毎回ビルドし直す』 から解放される。

Expo Go の使い所

` 標準 SDK だけ使う段階』 は Expo Go で十分。`ネイティブモジュール(独自カスタム)』 が要るときは Development Build に切り替える。

Expo Router

`app/』 ディレクトリの構造がそのまま URL / 画面構造。`Next.js を触ったことがあれば違和感ゼロ』。

TypeScript 標準

初期テンプレが TS。`.tsx』 ですべて書ける。React 経験者なら違和感なく入れる。

`数分でスマホ実機にアプリが映る』 のが、Expo を選ぶ最大の体感的価値です。

EAS(Expo Application Services)— クラウドビルドと配布

Expo の真の威力は EAS にあります。

EAS Build — ローカルに Xcode / Android Studio がいらない

eas build --platform ios
eas build --platform android

これだけで Mac を持っていなくても、iOS アプリを Expo のクラウドでビルド </strong></strong>できます。 業務 PC が Windows / Linux で iOS 開発が辛い』 という長年の問題を解消する大きな価値です。

EAS Submit — ストア提出

eas submit --platform ios
eas submit --platform android

App Store Connect / Google Play Console への提出をコマンド1つで行います。`手動で IPA / AAB をアップロードして…』 が消えます。

EAS Update — OTA(Over The Air)

eas update --branch production --message "バグ修正"

` 端末にインストール済みのアプリの JS バンドルを、ストア審査なしで更新』 できます。

用途

` JS / アセットの小さな修正なら、ストア審査を待たずに即配布』。ユーザーは次回起動時に自動で受け取る。`緊急バグ修正』 で価値が大きい。

制限

` JS / アセットのみ』。ネイティブコードの変更(新しい SDK バージョン、ネイティブモジュールの追加など)は依然としてストア審査が必要。

ストア規約

` JS の差し替えはストア規約上 OK』 だが、`アプリの本質を変えるレベルの変更』 はストア審査と矛盾する場合がある。`バグ修正 / 機能の小さな追加』 までを基本ルールに。

ブランチ運用

` production / staging / preview』 のようにブランチを分けて、`internal テスター向けは別ブランチ』 のような運用ができる。

`OTA は React Native の真の価値』 と言われるくらい、開発速度を変える機能です。

素の React Native との比較

Expo を使わずに 素の React Native』 で作るのと、何が違う?』 を表で並べます。

素の React Native Expo
初期セットアップ Xcode + Android Studio 必須 Node + Expo CLI で完結
iOS ビルド Mac 必須 EAS Build(クラウド)で Mac 不要
OTA 更新 別途 CodePush などを設定 EAS Update 標準
ネイティブモジュール追加 `pod install』 + 手動設定 Continuous Native Generation で自動
Expo SDK の使用 個別 npm パッケージで導入 セットで提供
学習コスト ネイティブの知識が必要 React の知識で十分(多くの場合)
主な選び所 ネイティブを深く触る案件 ほぼすべてのモバイル案件

要点は ` Expo を選ばない理由を探すほうが難しい』 ことです。 ネイティブの低レベル開発が必要な特殊案件以外、Expo がほぼ常に正解です。

いつ Expo を選ぶか

採用判断の目安を整理します。

向いている

① 新規 iOS / Android アプリ、② Web チームがモバイル開発を始める、③ MVP / スタートアップ初期、④ OTA で迅速にアップデートしたいプロダクト、⑤ Mac を持っていない開発者。

慎重に

① 既存ネイティブコードベース(Swift / Kotlin)が大量にある案件、② React Native のフォークを必要とする特殊要件、③ Bluetooth / USB / ハードウェア連携の濃い案件(`Expo SDK の対応範囲』 を要確認)。

Bare workflow との関係

` 完全にネイティブを触りたい』 場合は `Bare workflow』 で、`Expo の機能の一部だけ使う』 構成も可能。`Managed → Bare』 への移行も `expo prebuild』 で柔軟。

Tauri / Flutter との比較

Tauri は `主にデスクトップ + 軽量モバイル』、Flutter は `Dart 言語で全 OS UI 統一』、Expo は `React Native の本流』。`Web チームがモバイル領域に進出する』 ときに最も自然なのが Expo。

React 経験者が モバイルアプリを作ろう』 と思ったときの第一候補』 が Expo です。

どこで詰まりやすいか

便利な反面、現場で踏みやすい注意点もあります。

①Expo SDK 外のネイティブモジュール

` 特殊なネイティブモジュールを使いたい』 ときに、`Expo Go』 では動かなくなる(Development Build に切り替え)。`Expo Go で十分か、Development Build が要るか』 を最初に判断する。

② EAS の料金

` 無料枠を超えるビルド回数 / 時間』 で課金が発生する。`月数回ビルドする小規模個人開発』 なら無料で済む。`大規模 / 高頻度 CI』 では有料プランを最初から見据える。

③ OTA とストア規約

` OTA で本質的に違うアプリにする』 はストア規約違反。`バグ修正 / 機能追加の小幅な改善』 までを目安に、`大きな機能追加はストア審査も通す』 運用を徹底。

④ プラットフォーム差

` iOS と Android で挙動が違う』 場面はネイティブ依存の機能で必ず存在する。`実機テスト』 と `Expo SDK のプラットフォーム別 API ドキュメント』 を常に意識する。

`Web 並みに楽だが、最終はストアに出すモバイルアプリ』 という二面性を理解して運用する必要があります。

AI 時代の Expo

AI 連携の文脈で Expo の価値も上がっています。

AI チャットアプリ

` LLM API を呼ぶモバイルアプリ』 を最速で立ち上げる選択肢として、Expo は事実上の標準。`数日で MVP』 が現実的。

音声インターフェイス

音声入力 + AI 応答音声出力のような、`音声 AI モバイルアプリ』 では、Expo の標準 SDK と WebRTC 統合が活躍する。

OTA で AI モデルプロンプトの差し替え

` AI のプロンプトをチューニング』 のような変更を、ストア審査を待たずに OTA で配布できる。AI プロダクトの改善サイクルを劇的に短くする。

Web / Mobile 共通スタック

` React + TypeScript で Web は Next.js、モバイルは Expo』 の構成で、`コードベース / ノウハウを共有』 できる。AI 時代の `小さなチームで多媒体に展開』 と相性◎。

`AI モバイルアプリ』 を作る最短ルートとして、Expo の重要性は2026年現在も上がり続けています。

Expo に関するよくある質問

Q. Expo と React Native の関係は?

A. Expo は React Native の上に乗ったフレームワーク』</strong>です。React Native はiOS / Android で React を動かすコア技術』、Expo はその 周辺の道具一式』 を提供します。React Native 公式の Get Started』 でも、初心者には Expo の利用を推奨しています。

Q. Expo を選ぶとロックインされませんか?

A. 軽い』</strong>です。expo prebuild』 で Bare workflow』 にいつでも移行でき、その時点で 普通の React Native プロジェクト』 として続けられます。Expo Go』 と EAS』 は便利機能であって必須ではなく、独自にビルドすることも可能です。

Q. EAS Build の料金は?

A. 無料プランで月 30 回ビルド程度(2026 年現在)。Pro プラン以上で並列ビルドや優先キューが付きます。月数回ビルドする小規模案件』 は無料で十分、本格運用』 は有料プランで月 $19-99 程度から、というのが目安です。

Q. OTA でできない更新は何ですか?

A. ネイティブコードの変更を伴うもの』</strong>です。具体的にはExpo SDK のバージョンアップ』 新しいネイティブモジュールの追加』 ``Info.plist』 / AndroidManifest.xml』 の変更』 など。これらはストア審査を通す必要があります。

Q. Expo for Web は使うべきですか?

A. ケースバイケース』</strong>です。コードベースを Web / iOS / Android で共有したい』 用途には便利ですが、Web 専用の SEO 最適化 / SSR 重視のサイト』 では Next.js / Remix のほうが向きます。モバイルが本命で、おまけで Web』 ならアリ、というのが現実的です。

Q. iOS ビルドに Mac は本当に不要ですか?

A. EAS Build を使えば不要』</strong>です。クラウドの Mac インスタンスでビルドが実行されます。手元で実機デバッグ』 する場合も、Expo Go アプリで多くのケースが回るため、Mac がない開発環境でも iOS アプリの開発が現実的になります。

Q. Expo を学ぶ最短ルートは?

A. ① npx create-expo-app』 でプロジェクト作成、② スマホに Expo Go を入れて QR で起動、③ app/』 にページを足す、④ 簡単な機能(カメラ / 位置情報)を Expo SDK で試す、⑤ EAS Build でビルドしてみる、の5ステップが王道です。`数時間で実機にアプリが映る』 という体験が、Expo の価値を一番強く感じる方法です。

参考リンク

あとで見返すならここで保存

読み終わったあとに残しておきたい記事は、お気に入りからまとめて辿れます。