LASSIC Media らしくメディア
Expo/React Native(EAS)アプリの運用・SDK更新を外注する進め方
LASSIC IT事業部|元請(プライムベンダー)としてシステム保守・運用を受託
この記事のポイント
- EAS Update(OTAアップデート)はJSバンドルのみをストア審査なしに配信できる仕組みで、ネイティブ変更を含む場合は従来のEAS Build+ストア申請が別途必要になります
- Expo SDKのバージョン追従を放置すると、OS更新時のビルド不能・依存ライブラリの脆弱性蓄積・まとめ追従時の大規模修正コストという3つの負債が積み重なります
- Expo/EAS精通エンジニアの採用難を考慮すると、継続保守を外注することで技術的負債の蓄積を抑えながら、社内リソースをビジネス機能の開発に集中させやすくなります
目次
Expo・EASとは:Build/Submit/Updateの3サービスが担う役割
Expo/React Native(EAS)アプリの運用・保守外注とは、ExpoフレームワークとEAS(Expo Application Services)を使って開発・リリースされたモバイルアプリについて、リリース後の継続的な保守作業——OTAアップデート配信・SDKバージョン追従・ストア申請・依存ライブラリ更新——を専門の外部パートナーに委託する取り組みを指します。
Expo(エキスポ)は、React Nativeアプリの開発・ビルド・デプロイを効率化するオープンソースのフレームワーク兼プラットフォームです。ネイティブコードを直接触れなくても、JavaScriptとTypeScriptでiOS/Android両対応アプリを開発できる環境を提供します。
EAS(Expo Application Services)は、Expoが提供するクラウドサービス群です。主要な3サービスがあります。
- EAS Build:ローカルのMac/Linuxマシンなしで、クラウド上でiOS(IPA)およびAndroid(AAB/APK)のネイティブバイナリをビルドするサービスです。
- EAS Submit:EAS Buildで生成したバイナリをApp Store ConnectまたはGoogle Play Consoleへ自動で提出するサービスです。
- EAS Update:JavaScriptバンドルとアセットをアプリストアの審査を経ずに端末へ直接配信するOTA(Over The Air)アップデートサービスです。
この3サービスに加え、Expo SDKとして提供されるカメラ・位置情報・プッシュ通知などのネイティブ機能ライブラリも、定期的なバージョン更新が必要な運用対象に含まれます。
リリース後に発生する運用作業:OTA配信・SDK追従・ストア申請・ライブラリ更新
Expo/React Nativeアプリは、リリース後も継続的な保守作業が必要です。主な作業カテゴリは4つに分類できます。
OTAアップデートの配信管理(EAS Update)
EAS Updateを使ったOTAアップデートでは、JavaScriptバンドルの変更をチャンネル(production・stagingなど)を通じて配信します。配信チャンネルの管理・ロールバック手順の策定・配信状況のモニタリングを継続的に行う必要があります。
配信ミスが発生した場合には、EAS Updateのロールバック機能で前のバンドルに戻す対処が必要です。ロールバックの手順が整備されていないと、不具合のある更新がユーザーに配信されたまま残り続けるリスクがあります。
Expo SDKのバージョン追従
ExpoはSDKを定期的にメジャーバージョンアップし、各バージョンのサポート期限を設けています。サポート終了後は新機能追加がなくなるだけでなく、EAS Buildのビルドサポートも将来的に終了する可能性があります。iOSやAndroidのOSメジャーアップデートが行われる時期(例:iOS新バージョンのリリース時期)には、Expo SDKも対応版への更新が必要になります。
SDKのメジャーアップグレードには破壊的変更(API変更・廃止されたコンポーネント)が含まれることがあります。公式のマイグレーションガイドに従った修正作業と、動作検証が必要になります。
ストア申請・審査対応
ネイティブコードの変更・権限設定の追加・app.json(app.config.ts)の変更を伴う更新は、EAS Build → EAS Submit経由でストア申請が必要です。App Store・Google Playのガイドラインはそれぞれ定期的に更新されるため、審査ルール変更への対応も継続的な作業として発生します。
依存ライブラリの更新とセキュリティ対応
React Native・Expo SDKに加え、プロジェクトが使用するnpmパッケージも定期的なアップデートが必要です。セキュリティ脆弱性が公表されたパッケージについては、`npm audit`や`npx expo install –check`などで検知し、速やかに更新する対応が求められます。
SDK放置が招く負債:OS更新対応・破壊的変更・まとめ追従コスト
Expo SDKのアップデートを放置した場合、時間の経過とともに技術的負債が積み重なっていきます。負債は主に3つの形で顕在化します。
OS更新時のビルド不能リスク
AppleはiOSの新メジャーバージョンをリリースした際に、App Storeへの申請バイナリに要求されるMinimum Deployment TargetやXcodeのバージョンを更新します。Expo SDKが古いバージョンのまま放置されていると、新しいXcodeでのビルドが通らなくなり、アプリのアップデート提出が止まるリスクが生じます。
同様に、Androidのターゲットアプリレベル(targetSdkVersion)もGoogle Playが定期的に引き上げを要求します。Expo SDKが古いとtargetSdkVersionの更新にも追従できず、新規インストールや既存アプリの審査通過に支障が出ることがあります。
破壊的変更の蓄積
Expo SDKの各メジャーバージョンには、廃止されたAPIやコンポーネントの削除・非推奨化が含まれます。1バージョンずつ追従する場合は1回の変更量が限定されますが、複数バージョンをまとめて上げようとすると、複数世代分の破壊的変更が一度に押し寄せます。
例えば、Expoのnavigationライブラリ(Expo Router)やカメラ・位置情報APIは、メジャーバージョン間でAPIシグネチャが変更されることがあります。まとめ追従では修正箇所の特定と検証の工数が単独アップグレードよりも大幅に増加します。
まとめ追従時の大規模修正コスト
複数のメジャーバージョンをまとめて追従する場合、各バージョンのCHANGELOGを順番に参照しながら変更を適用し、段階ごとに動作確認を行う必要があります。この作業には、Expo/React Nativeの深い知識を持つエンジニアが必要で、内製対応が難しい場合は外注コストも高くなります。
定期的に1メジャーバージョンずつ追従する継続保守に比べ、まとめ追従の工数は大きくなりやすい傾向があります。SDK追従を「後回しにできる課題」ではなく、「毎回の定期保守で対処する作業」と位置づけることが、長期的なコスト管理の観点から重要です。
EAS UpdateのOTA配信の仕組みと注意点:JSのみ配信・ネイティブ変更は別経路
EAS Updateが提供するOTAアップデートの仕組みと、運用上の注意点を正確に理解することは、保守委託先との仕様合意において欠かせません。
OTAで配信できるもの・できないもの
EAS Updateが配信できるのは、JavaScriptバンドル(アプリのビジネスロジック・画面UIのコード)と静的アセット(画像・フォントなど)です。アプリストアの審査を経ずに端末へ配信できるため、軽微なバグ修正やUI変更を迅速に届けられます。
一方、以下の変更はEAS Update(OTA)では配信できず、EAS Build経由でネイティブバイナリを再ビルドし、ストア審査を経てリリースする必要があります。
- ネイティブモジュールの追加・変更(新しいExpo SDK APIの追加など)
- app.json / app.config.tsの変更(パーミッション設定・アプリアイコン・バージョン番号など)
- Expo SDKのメジャーバージョンアップグレード
- iOS・Androidプラットフォームの設定変更(Podfile・build.gradleなど)
チャンネルとブランチの管理
EAS Updateはチャンネル(channel)とブランチ(branch)の概念でデプロイ先を管理します。production・stagingなどのチャンネルを設定し、リリース前にstaging環境で動作確認した後にproductionへ昇格させる運用が推奨されます。チャンネル設定のミスは、意図しないバージョンが本番ユーザーに配信されるリスクにつながるため、運用フローの設計と文書化が重要です。
アプリストアポリシーとの関係
OTAアップデートを利用する場合、App Store Reviewガイドラインのインタープリタ型コード配信に関する条項を遵守する必要があります。JSバンドルの配信はこの範囲に該当しますが、アプリの主要目的の変更や、ガイドライン違反となる機能のOTA追加は認められません。運用委託先とポリシー遵守の方針を明確に合意しておくことが大切です。
外注で継続保守する意義:Expo精通人材の確保難と内製コスト
Expo/React Nativeの継続保守を外注する意義は、技術的負債の管理とリソース最適化の2つの観点から整理できます。
Expo/RN精通エンジニアの採用難
React Nativeエンジニアの市場需要は高く、特にEAS Build/Updateの設定・SDKバージョン追従・ネイティブモジュール対応まで経験のあるエンジニアは採用競争が激しい状況です。継続保守のためだけに常駐エンジニアを採用・維持することは、事業規模によってはコストが割高になることがあります。
加えて、保守作業は開発フェーズとは異なり、定常的な工数が発生するものの、特定の時期(SDKアップグレード・OS更新対応)に作業が集中します。繁閑差のある工数に対して常駐採用で対応するよりも、外部パートナーへの委託が柔軟な対応につながるケースがあります。
内製対応のリスク
保守担当者が1名だった場合、その担当者の異動・退職によって保守知識が失われるバスファクター(属人化)のリスクがあります。開発当時のExpo/EAS設定の経緯やカスタムネイティブモジュールの構成が引き継がれずにいると、次のSDKアップグレード時に調査から始めなければならなくなります。
外注先に継続保守を委託することで、作業履歴・設定ドキュメント・テスト手順書を委託先が蓄積・管理する体制を構築できます。担当者の変更に依存しないナレッジ管理が、長期的な保守品質の安定につながります。
社内リソースの集中先をビジネス機能に絞る
運用保守を外注することで、社内の開発チームは新機能の企画・実装に集中できます。SDKアップグレードやライブラリ更新の調査・対応に追われることなく、ユーザー向けの価値創出に注力できる体制を整えやすくなります。
外注費用の構造:保守範囲・頻度・対応スピードで変わる月額費用
Expo/EASアプリの運用保守を外注する際の費用は、委託する作業の範囲・対応頻度・レスポンス速度によって大きく変わります。以下は市場参考値の目安であり、一次資料に基づく数値ではありません。実際の費用は個別の作業スコープと要件に応じて変動するため、複数社からの見積もり取得を推奨します。
| 保守プラン(目安) | 含まれる主な作業 | 月額費用レンジ(市場参考値) |
|---|---|---|
| 軽量月次保守 | EAS Update OTA配信管理・月次ライブラリ確認・軽微なバグ対応 | 月額10万〜30万円程度 |
| 標準保守 | 上記+ストア申請補助・SDK追従対応(年数回)・問い合わせ対応 | 月額30万〜80万円程度 |
| フル保守(SLA付き) | 上記+緊急対応SLA・OS対応・CI/CDパイプライン維持・定期レポート | 月額80万〜150万円程度 |
上記の費用レンジはあくまで市場参考値であり、一次資料に基づく数値ではありません。実際の費用は対象アプリの規模・使用しているネイティブモジュールの数・iOS/Android両対応かどうか・緊急対応要件のSLA水準などによって変動します。
スポット対応と月額保守の使い分け
SDKのメジャーアップグレードは単発の作業量が大きいため、月額保守契約とは別にスポット費用が発生するケースがあります。契約前に「SDKアップグレードは月額保守の範囲か、別途見積もりか」を確認しておくことが、費用の想定外増加を防ぐポイントです。
また、EAS Buildのクラウドビルド費用・EAS Updateの配信容量費用など、Expo側のプラン料金(EASの有料プラン)が発生する点も、外注費用とは別に考慮が必要です。
委託先の選び方:Expo/RN運用実績・EAS設定経験・ストア申請体制を確認する
Expo/EASアプリの継続保守を委託する先を選ぶ際は、単なる開発実績だけでなく、運用・保守フェーズに特化した経験を確認することが大切です。
確認すべき5つのポイント
- EAS Build/Update/Submitの実設定・運用経験があるか(設定ファイルのレビューを依頼するのが有効です)
- Expo SDKのメジャーアップグレードを実際に担当した実績があるか(担当バージョン範囲を確認します)
- App Store・Google Playへのストア申請・審査対応を継続的に行った経験があるか
- iOS/Android両プラットフォームのネイティブ側の知識があるか(カスタムネイティブモジュール対応の可否)
- 元請(プライムベンダー)として開発・保守を一気通貫で対応できるか(複数ベンダー間の調整コストを削減できます)
契約・体制面で確認するポイント
保守委託の契約では、対応範囲の明文化が特に重要です。「OTAアップデートの配信管理は含むがSDKアップグレード作業は含まない」「緊急対応のレスポンスタイムは翌営業日まで」など、スコープと水準を契約書または作業仕様書に明記することで、後からの認識齟齬を防げます。
また、保守担当者の引き継ぎが発生した際に作業品質が維持されるか、設定ドキュメントや手順書の整備を委託先が行う体制かどうかも、長期保守の安定性を左右します。保守開始前に「どのドキュメントをどの形式で整備するか」を合意しておくことを推奨します。
まとめ:Expo/EAS運用外注を成功させる3つの判断軸
本稿では、Expo/React NativeアプリのEAS Update・SDKバージョン追従・ストア申請・ライブラリ更新という運用保守作業の全体像と、外注する際の費用・進め方・委託先選びを整理しました。要点を3つに集約します。
第一に、EAS UpdateのOTA配信はJavaScriptバンドルの変更のみに適用されます。ネイティブコードの変更やSDKアップグレードを含む更新はEAS Build+ストア審査が必要で、この区別を委託先と正確に合意しておくことがトラブル防止の基盤になります。
第二に、Expo SDKの追従は「後回しにできる課題」ではなく、定期的な保守サイクルで継続的に対処することがコスト最小化につながります。まとめ追従時の修正工数は、定期追従時よりも大幅に増加する傾向があります。
第三に、委託先を選ぶ際はEAS設定の運用実績・SDKアップグレード経験・ストア申請体制の3点を重点的に確認します。元請(プライムベンダー)として保守を一気通貫で担える体制の委託先に依頼することで、複数ベンダー間の調整コストを抑えられます。
よくある質問
EAS UpdateとEAS Buildの違いは何ですか?
EAS UpdateはJavaScriptバンドルをアプリストア審査なしに端末へ配信できるOTAアップデートサービスです。一方、EAS BuildはクラウドでiOS/Androidのネイティブバイナリをビルドするサービスです。OTAで配信できるのはJSバンドルの変更のみで、ネイティブコード・権限設定・SDKアップグレードなど、app.json(app.config)の変更を伴う更新はEAS Build+ストア審査が必要になります。
Expo SDKのバージョンアップを放置するとどうなりますか?
放置すると、iOSやAndroidのOSメジャーアップデート時にビルドが通らなくなるリスクや、依存ライブラリのセキュリティ脆弱性が蓄積するリスクが高まります。また、複数メジャーバージョンをまとめて上げる「まとめ追従」では破壊的変更が積み重なり、修正工数が定期追従の場合よりも大幅に増加します。定期的な1バージョンずつの追従保守を維持することが、長期的なコスト管理に有効です。
Expo/EASアプリの運用保守を外注する月額費用はどのくらいですか?
運用保守の範囲・頻度・対応スピードによって異なります。OTAリリース管理と軽微なバグ対応のみの軽量月次保守であれば月額10万〜30万円程度、ストア申請・SDK追従対応まで含む標準保守は月額30万〜80万円程度が市場参考値の目安です。いずれもあくまで市場参考値であり一次資料ではないため、作業スコープを明示した上で複数社からの見積もり取得をお勧めします。
Expo Managed WorkflowとBare Workflowで外注の難易度は変わりますか?
変わります。Managed WorkflowはネイティブコードをExpoが管理するため、EAS Build/Update設定が標準化されており外注先の対応範囲が明確です。一方、Bare Workflow(またはカスタムネイティブモジュールを含む構成)はiOS/Android両プラットフォームのネイティブ知識が必要で、委託先にReact Nativeネイティブ開発の経験があるかを確認する必要があります。
EAS UpdateのOTAアップデートはApp Storeのポリシーに違反しますか?
App Store Reviewガイドラインはインタープリタ型コードの配信を一定の条件下で許可しており、EAS UpdateのJavaScriptバンドル配信はこの範囲に該当します。ただし、アプリの主要目的を変更したり、Appleのガイドラインに違反する機能をOTAで追加することは認められていません。利用方法に問題がないかは、Expoの公式ドキュメントとAppleの最新ガイドラインを確認した上で外注先と合意することを推奨します。
著者:テレリモ総研編集部 鈴木 亮佑
ご不明な点はお問い合わせフォームからもご連絡いただけます。
- *1 出典:Expo公式ドキュメント「EAS Update – Introduction」(Expo, 2024)
- *2 出典:Expo公式ドキュメント「EAS Build – Overview」(Expo, 2024)
- *3 出典:Expo公式ドキュメント「EAS Submit – Overview」(Expo, 2024)