MENU

Apache Cordova — PhoneGapから始まったハイブリッド開発の原点

Apache Cordova アイキャッチ
Apache Cordova

Apache Cordovaは、HTML/CSS/JavaScriptで作ったWebアプリを各OSのWebView内で実行し、プラグインを通じてカメラやGPSなどのネイティブ機能を呼び出すクロスプラットフォームアプリ基盤です。源流は2009年にカナダのNitobi社が開発した「PhoneGap」で、2011年にAdobeがNitobiを買収。同年、Apache Software Foundationにコードが寄贈されて「Apache Cordova」となり、PhoneGapはCordovaを内包するAdobe製ディストリビューションという位置づけになりました。現代のハイブリッドアプリ文化のほぼ全ての原点であり、CapacitorやIonicの設計思想にも色濃く影響を残しています。

目次

この記事の目次

  1. WebViewとプラグインの設計
  2. PhoneGapからApacheへの寄贈
  3. 現場での使われ方
  4. Capacitor・他陣営との違い
  5. まとめ

WebViewとプラグインの設計

WebViewとプラグインの設計

Cordovaの中核は、各OSの標準WebViewにWebアプリを表示し、JavaScriptから「cordova.exec」を介してネイティブコードを呼び出すブリッジ機構です。OSごとに別実装のWebView(iOSはWKWebView、AndroidはWebView)を使い、cordova-pluginと呼ばれるパッケージを追加することで、カメラ・連絡先・位置情報・ファイルシステム・端末情報といった機能をJavaScriptから扱えるようになります。ビルド設定はconfig.xmlにまとめ、preference・access・platform設定をOS別に切り替える形式でした。

ハイブリッドアプリという用語は、このCordova式の構成を指して広く使われるようになりました。Webアプリ本体はWebサーバーで配信するのとほぼ同じコードベースで、アプリ起動時はローカルファイルとして読み込まれ、ネイティブ機能はプラグイン経由で必要な分だけ追加する、というシンプルな考え方が現場で受け入れられました。この設計は後にCapacitorへ受け継がれ、現在もハイブリッド系フレームワーク全般の基本構造として残っています。

PhoneGapからApacheへの寄贈

PhoneGapからApacheへの寄贈

始まりは2009年、カナダ・バンクーバーのNitobi Softwareが開発した「PhoneGap」で、当時はiPhoneアプリの開発に既存のWeb開発者が参入できる仕組みとして注目を集めました。2011年10月にAdobeがNitobi社を買収し、同月にCordovaコードベースがApache Software Foundationへ寄贈され、オープンソース版の名称が「Apache Cordova」、Adobeの商用ディストリビューション名が「PhoneGap」となりました。

その後しばらくはPhoneGapとCordovaが並走しましたが、Adobeは2020年10月にPhoneGap製品の終了を発表し、PhoneGap Buildサービスも閉鎖されました。Apache CordovaそのものはASFの管理下で開発が継続されているものの、より新しいCapacitorやReact Native、Flutterに主流の座を譲り、現在は保守フェーズの色合いが強くなっています。それでも、長年運用されている自治体・業務系アプリではCordovaベースのものが今も稼働しており、移行プロジェクトの対象として名前を聞く機会は多いままです。

現場での使われ方

現場での使われ方

Cordovaは「Webアプリをストアに並べる」という需要を最初に大規模に解決したフレームワークで、2013〜2017年頃に作られた多くの自治体アプリ、社内向け業務アプリ、小売チェーンのキャンペーンアプリなどが現役で稼働しています。新規でCordovaを選ぶ理由はほぼなくなっていますが、既存資産の保守・延命や、SDK更新に伴うビルド調整は今も需要があります。

また、CapacitorやIonic Frameworkの設計を理解する上でも、Cordovaの構造(プラグイン・config.xml・WebView前提の制約)を押さえておく意義は大きいです。新規プロジェクトではCapacitorを使うとしても、社内に残るCordovaプロジェクトの読み書きが必要な場面は珍しくありません。現在のCordovaは「現代のハイブリッド開発の祖父」として、技術史的にも保守実務的にも知っておくべき土台、という位置づけになっています。

Capacitor・他陣営との違い

Capacitor・他陣営との違い

後継と目されるCapacitorと比べると、CordovaはCLIやプラグイン設計が古く、TypeScript非前提・config.xml中心の設定方式・ネイティブプロジェクトを直接編集しづらいビルドフローなどが弱点として残っています。Capacitorはこれらを現代的に作り直し、IonicとReact/Vueの混在も自然に扱えるようになっています。ただし、Capacitorは比較的新しく、長年運用されてきたCordovaプラグイン群と比べると枯れていない部分もあります。

React NativeやFlutterと比べると、Cordovaは「WebView内でWebアプリを動かす」というハイブリッド方式に徹しており、ネイティブUI描画は持ちません。性能や見た目の自然さでは劣りますが、Web資産を最小限の追加でアプリ化できる点が支持されてきた理由です。新規開発でCordovaを選ぶ場面はほぼないものの、「既存のCordovaアプリをどう運用・移行するか」という観点では、依然として重要な技術として位置づけられます。

まとめ

Apache CordovaはPhoneGapから始まり、Webアプリをモバイルストアに届けるという文化を作った先駆的フレームワークです。主役の座はCapacitorやReact Native、Flutterへと移りましたが、ハイブリッド開発の基本構造を確立した功績は大きく、既存資産の保守や後続技術の理解の起点として、今も知っておくべき技術であり続けています。

※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次