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をサポートするかどうかという話は出たか、今は未定。
エンタープライズ・モバイルアプリにおけるハイブリッドアプリ開発
続いてジェーエムエーシステムズ 中居さんによる**エンタープライズ・モバイルアプリにおけるハイブリッドアプリ開発**の発表です。
スマートデバイスの業務利用増加しているとのことです。理由としては、
- セキュリティ懸念よりもビジネス競争力
- 単なる便利ツールから武器へと変化している
- モバイルアプリの寿命が長期化
昔はデバイスの契約が2年で切れるので、それまで使えれば良かった。今は5年くらいは使い続けられるシステムでないといけない。そこでハイブリッドアプリに注目が集まっている。
ジェーエムエーシステムズさんの開発手法については、
- ネイティブアプリ
- ハイブリット開発
- Webアプリ
の3パターンをクライアントニーズによって使い分けている。iOSアプリのネイティブ開発案件が多いが、ハイブリッドアプリ開発も急激に増えている。数年前はパフォーマンスが悪かったり、一部の機種で動かないような不具合があったので一旦ハイブリッドアプリ開発は中断していた。
なぜハイブリッドアプリ開発が増えているか?理由としては下記が考えられる。
- 業務アプリでの利用
- 現在・将来のマルチデバイスの導入
- ハードウェアの性能向上
- 使えるクロスプラットフォーム開発フレームワークの登場
- 開発エンジニアの確保
今はマルチデバイスが必須では内が、将来に備えているケース。ハイブリッドアプリはネイティブに劣らないレベルでハードウェアの性能が向上している。昔から一部はクロスプラットフォーム開発フレームワークがあったが、ホビーレベルだったが、今は品質が上がっている。また、Swift/Objective-Cエンジニアの数があまりに少ないため採用しづらい問題も。
ハイブリッドアプリフレームワークに求めるもの。
- マルチデバイス対応がちゃんとしている
- OSのバージョンアップ対応が速いかいなか
- サポートの充実
ジェーエムエーシステムズ社ではMonacaやIBM MobileFirst Platformを使っている。Cordovaを直接使わないのはサポートがあるから。
Cordovaで作る!センサと超小型BLEモジュールを用いた簡単IoTアプリ開発
最後は慶應義塾大学 伊藤さんによるCordovaとセンサー、BLEモジュールを用いたIoTアプリ開発に関するプレゼンでした。
Cordovaはスピーディーに開発できるのが良い。自作アプリとしてはAppCubeなど。今回はセンサー × BLE × Cordovaを組み合わせて簡単なIoTを実現するデモです。
作ったのはWaterTrackerというアプリで、コップの下に圧力センサーを置いて、その値をスマートフォンに送信するもの。スマートフォン側はBLEで値を受け取り、コップの残量を可視化。Cordovaを使っているので簡単なJavaScriptのメソッドでできる。
WaterTrackerのソースコードはGitHub上にあります。
エンタープライズ(対企業)においてハイブリッドアプリの需要が伸びているのはよく感じられる方が多いのではないでしょうか。スマートフォンは移動中にも使えるデバイスですし、タブレットは現場に持ち込んで作業するのに最適です。
Cordovaの性能が向上したことで、リッチなUI/UXや高速動作よりもまず素早く開発できて、かつマルチプラットフォームに提供できるハイブリッドアプリはますます需要が増しそうですね。