第7回Apache Cordova勉強会に行ってきました
11月16日、第7回Apache Cordova勉強会が日本マイクロソフト セミナールームにて行われました。今回はマイクロソフト Visual Studio Client Toolsチーム シニア・プログラム・マネージャー Ryan Salva氏が来日するのに合わせて実施されました。
最初はそのRyan Salva氏の発表でした。
エンタープライズ企業におけるCordovaソリューションの提供について
ガートナーの発表しているMagic Quadrant for Mobile Application Development Platformsからの引用としてグラフが提示されていました(via Mendix Named a Visionary in Gartner 2015 Magic Quadrant for Mobile Application Development Platforms)。
このグラフは左から右に行くほど完成度が高く、開発者にとって必要な機能が揃っているということになります。
上下はベンダーのビジョンの完成度を表しています。この上位(右上の四角の中)にある殆どの企業(全20社中9社)がCordovaソリューションを持っています。企業規模はもちろん、Cordovaの完成度が高いことも分かります。
そして別なデータとしてビジョンモバイルの調査によるとCordovaは他のマルチプラットフォーム技術に比べて2倍以上採用ケースが多いとのことです(via Cross-Platform Tools 2015 – VisionMobile)
そしてハイブリッドアプリを使っているアプリ(一部でも)は代表例として次のようになっています。なお、これはCordovaを採用しているという意 味ではありません。
- Untappd
- Zynga mob wars
- Swork it
- Feedly
- Uber
- AT&T
- Apple store
このように数多くのアプリにおいてハイブリッドアプリ構成は行われています。
Cordovaに関する主な不満については以下のようになります。会場でもそれぞれ不満を感じている方がいらっしゃいました。
- ドキュメント
- コアプラグインでないものは品質が悪い
- バージョンが上がると動かない
なお、この解決手段としてコントリビュートしてくださいというのがRyan Salva氏の答えでした。Cordovaはオープンソース・ソフトウェアであり、不満に思う点があれば開発に参加できるのが大きなポイントです。
実際、Cordovaにコントリビュートしている主な企業は以下の通りです。
- Adobe
- Microsoft
- METEOR
- IBM
- Salesforce
- Telerik
- SAP
- ionic
- Monaca
これらの企業に加えて多くの個人開発者も参加しています。そして参加の具合ですが、
- AdobeはiOS
- MicrosoftはWindows
- GoogleはAndroid
という暗黙のルールがあります。そのためiOS9が発表されるとAdobe社のコミットが増え、MicrosoftはWindows 10、そしてAndroidも最新版のOSに合わせた開発が行われるとのことです。それぞれ貢献時期は異なるものの、年間を通して同じくらいの貢献度であるというのが良い点とのことです。エンタープライズにおいてCordovaを使っていく上で、各企業がきちんとメンテナンスしてくれることで5年後 、10年後の安心感につながるとのことです。
Cordovaのサイトに来るユーザ層は、
- インド
- アメリカ
- ブラジル
- 中国
が多く、日本からももっとアクセスして欲しいとのことです。Cordovaのダウンロード数は着実に伸びており、過去2年間で2倍に達しています。特にエンタープライズ分野で伸びています。
実際にCordovaで開発しているプラットフォームは、
- Android
- iOS
- Windows
という順番になっています。さらにすでに最新のCordova5が最も多く使われています。
Web技術を使えるとあって、多くのフレームワークが存在しますが、アプリの評価と比べると
- Backbone 5.8
- Zepto 5
- Ionic 4.2
- Dojo 4.1
- Angular 3.8
といった順番になっています。jQuery Mobileなどは古いフレームワークであるために動作が重かったり、機能がモダンなプラットフォームに対応していないことが多いそうです。そのためフレームワークの種類に限らず、新しいフレームワークを採用しましょう。
今後のCordovaのロードマップですが、
- ドキュメント
- プラグインの品質システム
- バージョン統合
- ネイティブAPIサポートまでの期間短縮
といった順番で考えられているとのことです。
質疑応答では以下の質問が寄せられました。
Electronについてはどうか?
まだまだバギーではないか。CordovaとしてもElectronをサポートするかどうかという話は出たか、今は未定。