バージョンアップ情報
Apache Cordova情報
Apache Cordovaとは
Apache Cordova(アパッチ・コルドバ)はオープンソースのクロスプラットフォームモバイルアプリケーション開発フレームワークで、iOSやAndroidのアプリ開発においてプラットフォームに依存しないアプリ開発の技術として注目をされています。
Apache Cordovaは2009年にNitobi社によりPhoneGapという名前で開発が始められました。Nitobi社は2011年にAdobe社に買収されましたが、Adobe社はPhoneGapのソースコードをApacheソフトウェア財団(Apache Software Foundation、ASF)に寄贈し、Apache Cordovaとして継続的に開発されています。
Apache CordovaはASFのトップレベルプロジェクトとして2012年10月に認定され、今後ASFによるオープンな管理下で開発が進むことが期待されています。
主な特徴
- HTML5、CSS3、JavaScriptを用いたハイブリッドアプリ開発が可能です
- マルチプラットフォームに対応したアプリ開発により、iOS、AndroidなどのスマートフォンのアプリなどOS毎に開発をする負担を軽減できます
- カメラや加速度センサーなどのプラグインがあるため、各プラットフォーム固有の機能にも対応しています
- 独自のプラグインを作成することも可能であり、柔軟性の高い開発が可能です
Apache Cordovaの構成
Apache Cordovaの構成は以下の通りです。
 
参照:https://cordova.apache.org/docs/en/latest/guide/overview/index.html#architecture
作成した「Web APP」を、各プラットフォーム(iOS, Androidなど)専用のラッパーアプリの中にある「WebView」で実行し、共通のAPI(Cordova Native APIs)を通じて本来ウェブページからはアクセスしにくいデバイス固有の機能(カメラ、GPS、連絡先など)をCordova Pluginsを使用することで利用できるようにすることができます。
Apache Cordovaの開発ツールとプラットフォームAPI
Cordova CLI 開発プラットフォーム
| プラットフォーム | Android | iOS | Electron | 
|---|---|---|---|
| Mac | ○ | ○ | ○ | 
| Windows | ○ | × | ○ | 
| Linux | ○ | × | ○ | 
コアプラグインAPI
| プラットフォーム | Android | iOS | Electron | 
|---|---|---|---|
| バッテリー状態 | ○ | ○ | 未評価 | 
| カメラ | ○ | ○ | ○ | 
| キャプチャ | ○ | ○ | 未評価 | 
| 接続 | ○ | ○ | 未評価 | 
| デバイス | ○ | ○ | 未評価 | 
| イベント | ○ | ○ | 未評価 | 
| ファイル | ○ | ○ | 未評価 | 
| 地理位置情報 | ○ | ○ | 未評価 | 
| アプリ内ブラウザ | ○ | ○ | 未評価 | 
| メディア | ○ | ○ | 未評価 | 
| 通知 | ○ | ○ | 未評価 | 
| スプラッシュスクリーン | ○ | ○ | 未評価 | 
| ステータスバー | ○ | ○ | 未評価 | 
| ストレージ | ○ | ○ | 未評価 | 
| 振動 | ○ | ○ | × | 
プラットフォーム別の機能
| プラットフォーム | Android | iOS | Electron | 
|---|---|---|---|
| プラグインインターフェース | ○ | ○ | - | 
| 埋め込みWebView | ○ | ○ | - | 
参照:https://cordova.apache.org/docs/en/latest/guide/support/index.html
メリット・デメリット
メリット・必要性
Apache Cordovaのメリットは既存のWeb開発者が新たな言語を学ぶことなくモバイルアプリ開発に参入できる点です。豊富なプラグインアーキテクチャを通じて、純粋なWebアプリでは実装が困難なデバイス固有の機能も利用可能です。
Webとネイティブ技術を融合したハイブリッドアプリの開発環境として、UIはHTMLで構築しながらもデバイス固有の機能を活用できる柔軟性を提供します。特にWeb開発のバックグラウンドを持つチームにとって、モバイルアプリ開発への移行障壁を大幅に下げられる点は重要なメリットとなります。
デメリット・注意点・課題
Apache Cordovaで作成したアプリは、ネイティブアプリと比較して複雑なアニメーションや高負荷な処理のパフォーマンスが劣る傾向にあります。
また、新しいOSバージョンのリリースに伴う最新機能への対応が遅れる場合があり、互換性の問題が発生する可能性があります。
さらに、近年はReact NativeやFlutterなどの代替技術の台頭により、相対的な優位性が低下しているという課題もあります。
類似プロダクト
Apache Cordovaと同様にWebViewベースの開発が可能なものとしてはTitanium Mobileが有名です。また、WebViewベースではありませんが、クロスプラットフォーム開発の領域ではReact NativeやFlutterが広く利用されています。
動作環境
Apache Cordovaの対応プラットフォームは以下となります。
- Android
| Cordova-android version | Android API レベル | ライブラリとツールのバージョン | 
|---|---|---|
| 13.0.x | 24(7.0)-34(14.0) | Build Tools 34.0.0 以上、35.0.0未満 | 
| 12.0.x | 24(7.0)-33(13.0) | Build Tools 33.0.2 以上、34.0.0未満 | 
| 11.0.x | 22(5.1)-33(12L) | Build Tools 32.0.0 以上、33.0.0未満 | 
| 10.1.x | 22(5.1)-30(11.0) | Build Tools 30.0.3 以上、31.0.0未満 | 
| 10.0.x | 22(5.1)-30(11.0) | Build Tools 30.0.3 以上、31.0.0未満 | 
| 9.x.x | 22(5.1)-29(10.0) | - | 
| 8.x.x | 19(4.4)-28(9.0) | - | 
| 7.x.x | 19(4.4)-27(8.1) | - | 
| 6.x.x | 16(4.1)-26(8.0) | - | 
| 5.x.x | 14(4.0)-23(6.0) | - | 
| 4.1.x.x | 14(4.0)-22(5.1) | - | 
| 4.0.x.x | 10(2.3.3)-22(5.1) | - | 
| 3.7.x.x | 10(2.3.3)-21(5.0) | - | 
参考:https://cordova.apache.org/docs/en/12.x-2025.01/guide/platforms/android/index.html
- iOS
| Cordova-iOS version | iOS Minimum-Support | ツールのバージョン | 
|---|---|---|
| 7.x | 11.0 | Cocoapods 1.8.0以上 | 
| 6.x | 11.0 | Cocoapods 1.8.0以上 | 
| 5.x | 10.0 | Cocoapods 1.0.1以上 | 
参考:https://cordova.apache.org/docs/en/12.x-2025.01/guide/platforms/ios/index.html
- Electron
| OS | システム要件 | 
|---|---|
| Linux | Python 2.7.x | 
| Mac | TLS1.2をサポートするPython2.7.x | 
| Windows | Python 2.7.10以上 | 
参考:https://cordova.apache.org/docs/en/12.x-2025.01/guide/platforms/electron/index.html
Apache Cordovaのライセンス
Apache CordovaはApache License 2.0に基づいて公開され、営利・非営利を問わず、 誰でも自由かつ無償で利用・改変・再配布可能です。
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
- 
  Ionicアイオニック。HTML5を活用したハイブリッドなモバイルアプリケーションを開発するためのオープンソースのフレームワークです。 
- 
  Electronエレクトロン。2013年にGithub社によって公開されたマルチプラットフォーム(Windows, Mac, Linux)なデスクトップアプリケーションを開発できるオープンソースライブラリです。 
- 
 サポート対象 サポート対象Apache Axisアパッチ アクシス。JavaとXML技術に基づいたWebサービスのフレームワークです。 


 
          