LASSIC Media らしくメディア

2026.10.26 らしくコラム

Cordova移行先の選び方|古いハイブリッドアプリの判断基準

監修・編集責任者:牛尾 昭昌(株式会社LASSIC 執行役員)

会議室のスクリーンに古い業務アプリと試作の新しいアプリの画面を並べて説明する担当者

この記事の結論

  • CordovaはWebの画面をアプリとして動かす仕組みで、開発は続いていますが、ストアの要件が変わるたびに版上げが要ります。
  • 今のWebの画面を活かすならCapacitor、作り直すならFlutterと、残したいものから移行先を選びます。
  • 移行の前にプラグインと端末内のデータを棚卸しし、移行後に保守を受け持つ人を決めておきます。

※ 本記事は2026年10月時点の公式情報(省庁・公的機関、および製品やサービスを提供する事業者が公開している資料)に基づきます。

アプリを更新しようとしたらビルドが通らない。使っているプラグインの更新が何年も止まっている——。数年前にCordovaで作った業務アプリやスマートフォンアプリでは、こうした保守の行き詰まりが起こりがちです。Apache Cordova(アパッチ・コルドバ)は、HTML・CSS・JavaScriptで作った画面を、iOSやAndroidのアプリとして動かすためのオープンソースの仕組みです。

移行先にはCapacitor(キャパシター)やFlutter(フラッター)などがあるものの、どれを選んでも作業はかかり、万能の答えはありません。本記事では、古いハイブリッドアプリ(Webの画面をアプリの枠で包んだもの)を抱える情報システムの担当者に向けて、移行が必要になる理由、移行先の違いと選び方、移行の進め方、そして外部に頼むときに確認したい点を整理します。

Cordovaとは

Cordovaのアプリは、Webの画面をアプリに組み込んだブラウザの画面(WebView)で表示し、カメラや位置情報などの端末の機能はプラグインを通して呼び出す作りです。公式ドキュメントは、アプリを形づくる部品を次の3つで説明しています。*1

  • WebView:アプリの画面全体を表示する部分。中身はindex.htmlから始まるWebページです
  • Webアプリ:画面と処理を書いたHTML・CSS・JavaScriptと、アプリの設定をまとめたconfig.xmlというファイル
  • プラグイン:JavaScriptから端末の機能(カメラ・電池・連絡先など)を呼び出す部品。公式のコアプラグインのほか、第三者が作ったものもあります

Cordova自体の開発は続いており、2026年3月に公開されたAndroid向けの本体では、対象とするSDKの版が36に上がりました。*2 Google Playも、2026年8月31日以降に提出するアプリとアップデートにAndroid 16(APIレベル36)以上を求めています。*3

公開中のアプリも、APIレベル35未満のままだと新しいOSの端末では新規に入手できなくなります。*3 古い版のまま止まったアプリや、更新が止まったプラグインに頼るアプリでは、この版上げの作業が一気に膨らみます。

主な移行先の違い

移行先の候補は、Cordovaのまま版を上げる、Capacitorへ移る、Flutterで作り直すの3つです。CapacitorはCordovaと同じくWebViewにWebの画面を表示します。*4 Flutterは、Dartという言語で画面を作り、配布するときは端末で直接動く機械語に変換する仕組みです。*5

検証機の並んだ机で3台のスマートフォンの画面を指で操作する手元

Cordovaの主な移行先の違い(各公式ドキュメントの記述をもとに整理)
項目 Cordovaの版を上げる Capacitorへ移る Flutterで作り直す
画面の作り方 今のHTML・CSS・JavaScriptのまま 今のHTML・CSS・JavaScriptのまま(WebViewで表示) Dartで画面を作り直す
端末の機能の呼び出し Cordovaのプラグイン Capacitorのプラグイン。Cordovaのプラグインも使える(一部は非対応) パッケージとして用意されたプラグイン(カメラなど)
今のコードで残せるもの ほぼすべて Webの画面と処理。プラグインは置き換えるか残す 画面と処理は作り直す
移行の進め方 本体とプラグインの版を上げる Cordovaのプラグインと並べて少しずつ移せる 一から作るか、既存アプリに一部の画面を組み込む

どちらが優れているかではなく、今のアプリの何を残したいかで決まります。FlutterとReact Nativeの選び分けはFlutterとReact Nativeの選定で扱っています。

移行先の選び方

移行先を決める前に、今のアプリの状態を次の4つの点で確かめます。

  • プラグインの棚卸し:使っているプラグインを一覧にし、もう要らないもの・更新が止まっているもの・置き換えが要るものに分ける
  • Webの画面の出来:今の画面と処理のコードを、直しながら使い続けられるか。使えるならCapacitor、作り直す前提ならFlutterも候補
  • 端末に保存したデータ:ログインの状態や入力途中のデータなど、端末に保存しているものを新しいアプリへ引き継ぐ必要があるか
  • 移行後の保守:Xcode(iOSアプリを作る道具)やAndroid Studioでの作業を、誰が受け持つか

4つ目は見落としやすい点です。Capacitorでは、iOSとAndroidのプロジェクトをソースコードの一部として管理し、config.xmlに書いていた設定も各OSの設定ファイルを直接編集します。*4 Webの技術者だけの体制のままでは、移行後の版上げが止まりかねません。

Capacitorへの移行の進め方

Capacitorの公式ドキュメントは、移行は時間をかけて進めることもでき、置き換え先が無いCordovaのプラグインはそのまま使い続けられるとしています。*6 手順は大きく4つの段階に分かれます。*8

  • ステップ1:作業用に分けたコードの置き場(ブランチ)で、今のプロジェクトにCapacitorを加える。アプリ名とIDはconfig.xmlから引き継ぐ
  • ステップ2:iOSとAndroidのプロジェクトを作る。今使っているCordovaのプラグインは自動で組み込まれる(非対応のものは除く)
  • ステップ3:プラグインを1つずつ見直し、Capacitorのプラグインに置き換えるか、Cordovaのまま残すかを決める
  • ステップ4:権限などの設定を各OSの設定ファイルへ移し、動作を確かめてからCordovaの設定ファイルとフォルダを削除する

CordovaのアプリをCapacitorへ移行する流れを4つの段階で左から順に並べた図。STEP1 Capacitorを加える、STEP2 iOSとAndroidのプロジェクトを作る、STEP3 プラグインを見直す、STEP4 設定を移してCordovaを外す。

つまずきやすいのはステップ3と4です。Capacitorで動かないCordovaのプラグインは公式に一覧があり、組み込みの際に自動で外されます。プラグインが求める設定も手作業で移します。*9

また、Ionicと一緒にCordovaを使っていたアプリでは、iOSで画面を読み込むURLの形(スキーム)が変わり、端末に保存したデータが読めなくなることがあります。設定で元の形に合わせられます。*8

外部に頼むときに確認しておきたい点

Cordovaの移行は、Webの画面の知識に加えて、iOS・Androidそれぞれの開発ツールとストアの要件の知識が要る作業です。移行を外部に委託するときは、見積もりを取る前に次の点を確かめておきます。

机の上のスマートフォンの画面を指して確かめ合う2人の手元

  • 現状の調査:使っているCordovaの版とプラグインの一覧を、誰がどこまで調べるか
  • 移行先の判断:Cordovaの版上げで済ませるか、CapacitorかFlutterかを、調査の結果をもとに提案してもらえるか
  • データの引き継ぎ:端末に保存したデータやログインの状態を移行後のアプリへどう引き継ぎ、どう確かめるか
  • ストアへの提出:Google PlayとApp Storeへの提出と審査への対応を、どこまで任せるか
  • 移行後の保守:OSやストアの要件が変わったときの版上げを、誰がどの頻度で行うか

最後の点を決めておかないと、数年後に同じ行き詰まりを繰り返します。WebViewの表示速度やセキュリティの見直しはWebView・ハイブリッド画面の最適化で扱っています。

まとめ:Cordova移行で確かめておきたい3つの点

Cordovaのアプリを移行するうえで、確かめておきたい点は3つに整理できます。第一に、今の版とプラグインを棚卸しし、ストアの要件に追いつく作業を見積もること。第二に、残したいものから移行先を選ぶこと。第三に、移行後の保守を受け持つ人を決めておくことです。この3点を踏まえておけば、「移行は終わったのに、次のOSの更新でまたビルドが通らない」という事態を避けやすくなります。移行先の判断や作業の進め方に迷いがあれば、外部の手を借りるのも一つの選択肢です。

LASSICに相談するメリット

LASSICは2006年の創業以来、システムの運用・保守に特化したプライム(一次請け)のシステムインテグレーターとして、企業のシステム開発と保守・運用を受託してきました。日本ニアショア開発推進機構の認定ベンダーとして、全国のリモート人材による開発・運用の体制を整えています。

最初に、cordova-androidとcordova-iosの版、Gradle(Androidのビルドの道具)とXcodeの要件、プラグインの一覧を洗い出します。設計では、プラグインごとに置き換えるか残すかを決め、config.xmlの設定をAndroidManifest.xmlとInfo.plistへ移す対応表を作ります。iOSのスキームと端末内データの引き継ぎは実機で確かめ、ストアの要件変更に合わせた版上げの手順を文書にして引き継ぎます。

よくある質問

Cordovaはもう使えなくなるのですか

すぐに使えなくなるわけではありません。開発は続いており、Android向けの本体は2026年7月にも新しい版が公開されています。*2 ただし、使っているプラグインが新しいOSに対応し続けるかは別に確かめる必要があります。

アプリを一度に全部作り直す必要がありますか

必ずしもありません。CapacitorはCordovaのプラグインと並べて使えるため、段階的に移せます。*6 Flutterにも、既存のAndroid・iOSアプリに一部の画面だけを組み込む仕組みがあります。*7

移行の期間や費用はどのくらいかかりますか

画面の数、使っているプラグインの数と種類、端末に保存したデータを引き継ぐかどうかで大きく変わります。まず今のCordovaの版とプラグインの一覧を調べ、そのうえで見積もりを取ると、委託先ごとの提案を比べやすくなります。

Cordovaアプリの移行と保守のご相談

Cordovaで作ったアプリの現状調査から、Capacitorなどへの移行、移行後の版上げと保守まで、元請(プライムベンダー)としてご提案します。

2006年の創業以来、一次請けのシステムインテグレーターとして、企業のシステム開発と保守・運用を受託してきました。

無料相談はこちら

出典

  1. *1 参考:Apache Cordova「Architectural overview of Cordova platform」(https://cordova.apache.org/docs/en/latest/guide/overview/index.html)。出典:WebView・Webアプリ(index.html・config.xml)・プラグイン(コアプラグイン)の構成の記述を参照(2026年10月確認)
  2. *2 参考:Apache Cordova Blog(Cordova Android 15.0.0/15.1.0 のリリース告知)(https://cordova.apache.org/blog/)。出典:2026年3月6日公開のcordova-android 15.0.0でtarget SDKを36に引き上げた記述と、2026年7月22日の15.1.0公開を参照(2026年10月確認)
  3. *3 参考:Google Play Console ヘルプ「Google Play アプリの対象 API レベルに関する要件」(https://support.google.com/googleplay/android-developer/answer/11926878?hl=ja)。出典:2026年8月31日以降の新しいアプリ・アップデートはAndroid 16(APIレベル36)以上、2026年11月1日までの延長、既存アプリはAPIレベル35以上の記述を参照(2026年10月確認)
  4. *4 参考:Capacitor Documentation「Cordova and PhoneGap」(https://capacitorjs.com/docs/cordova)。出典:CapacitorとCordovaの違い(WebViewの利用、ネイティブプロジェクトをソースとして管理、config.xmlを使わず各OSの設定ファイルを編集)の記述を参照(2026年10月確認)
  5. *5 参考:Flutter Documentation「Flutter architectural overview」(https://docs.flutter.dev/resources/architectural-overview)。出典:Dartで書くフレームワーク、リリース時に機械語へコンパイル、カメラなどのプラグインをパッケージで提供する記述を参照(2026年10月確認)
  6. *6 参考:Capacitor Documentation「Migration Strategy」(https://capacitorjs.com/docs/cordova/migration-strategy)。出典:時間をかけた移行が可能であること、作業量はアプリの複雑さによること、置き換え先が無いCordovaプラグインは使い続けられることの記述を参照(2026年10月確認)
  7. *7 参考:Flutter Documentation「Add Flutter to an existing app」(https://docs.flutter.dev/add-to-app)。出典:既存のAndroid・iOSなどのアプリにFlutterを部分的に組み込む仕組み(add-to-app)の記述を参照(2026年10月確認)
  8. *8 参考:Capacitor Documentation「Cordova to Capacitor Migration」(https://capacitorjs.com/docs/cordova/migrating-from-cordova-to-capacitor)。出典:別ブランチでの作業、config.xmlからのアプリ名・IDの引き継ぎ、プラグインの自動組み込みと見直し、権限の設定、iOSのスキーム変更によるデータ消失の注意、Cordovaの削除の記述を参照(2026年10月確認)
  9. *9 参考:Capacitor Documentation「Cordova Plugins」(https://capacitorjs.com/docs/plugins/cordova)。出典:Cordovaプラグインの利用、変数・フック非対応、既知の非対応プラグインの一覧と自動除外の記述を参照(2026年10月確認)




View