React NativeとExpoでネイティブモジュールを使う【2025.08.25】
1. React Native × Expoを選ぶ理由
• 高速開発と単一コードベースでiOS/Androidに対応可能
• 豊富なライブラリとコミュニティが存在
• Expoの便利機能により設定レスで開発開始
• 生成AIの活用に相性が良い
• Web技術の再利用も可能
2. ネイティブモジュールの扱い
• ネイティブモジュールの役割
• カメラ/GPS/Bluetoothなどハードウェアアクセス
• OS API呼び出しやパフォーマンス重視処理
• Swift/Kotlinなど既存ネイティブコードの再利用
• Expo Goの制約
• Expo Goは簡単に使えるが「カスタムネイティブモジュール」は使えない
• → 解決策は以下の2つ
解決策1:実機テスト(推奨)
1. iOS用に npx expo prebuild
2. Metro Bundler 起動
3. XCodeでワークスペースを開く
4. 実機接続してビルド・テスト
解決策2:Development Build
• EAS (Expo Application Services) を利用し、ネイティブモジュールを含むカスタム版Expo Goを作成
• 手順:
1. EAS CLIをインストール
2. プロジェクトをEASに登録
3. eas.jsonにDevelopment Build設定
4. コマンド実行でビルド
5. 実機にインストール
3. まとめ
• React Native × Expoはモダンで強力なスタック
• ネイティブ機能利用には 実機テスト or Development Build
• EASを使えば導入も容易
• Expoの制約を理解しつつ最大限活用することが重要