SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Bringing More People To Apps
Cordovaの特徴と
開発手法概要
アシアル株式会社 生形 可奈子
1
Bringing More People To Apps
生形可奈子(うぶかたかなこ)
アシアル株式会社
Monacaエバンジェリスト
2
Cordova
の章
Bringing More People To Apps
Cordovaとは?
3
Bringing More People To Apps
HTML5アプリ用フレームワーク
Cordova
Apacheソフトウェア財団
PhoneGap
アドビシステムズ
4
Bringing More People To Apps
Cordova?PhoneGap?
 2008年、Nitobi社がPhoneGapを開発。
 2011年、Adobe社がNitobi社を買収。
PhoneGapはApache財団に寄贈され、名称を「Cordova」に変更。
同時に「PhoneGap」はAdobeの登録商標に。
5
Bringing More People To Apps
Cordovaコミッターの会合@マイクロソフト 6
Bringing More People To Apps
Web標準技術(HTML/CSS/JavaScript)
でアプリ開発
 WebView上にHTMLをロードしてUIを作成するので、Web開
発と同じ方法でモバイルアプリ開発が可能
7
Bringing More People To Apps
Cordovaの仕組み 8
Cordova層
HTML5層
(WebView)
アプリ本体はHTML5で実装
CordovaがOSに合わせた
ネイティブコードを提供
OS
1. JavaScriptでAPI実行
2. Cordovaがネイティブ
機能を実行
Bringing More People To Apps
プラグインでネイティブ機能を拡張
 ネイティブの各種機能は、プラグイン形式で実装されている
 標準プラグインの他にも、第三者によって提供されたプラグインを
取り込んで機能を拡張できる
9
標準プラグイン
・カメラ
・位置情報
・電話帳
・加速度センサー
・ファイルアクセス
サードパーティ製
プラグイン
・Bluetooth
・プッシュ通知
・アプリ内課金
・バーコード読取
・IoT
自作プラグイン
Bringing More People To Apps
事例:タニタヘルスプラネット
▶ 体組成計連携の健康管理アプリを2ヶ月で開発
▶ Bluetooth、NFCを使って専用の体組成計、歩数計からデータを自
動で受け取ることが可能
10
Bringing More People To Apps
CordovaはCross PlatformツールNo.1 11
61%
35%
31%
18%
15%
13%
12%
9%
4%
3%
0% 10% 20% 30% 40% 50% 60% 70%
PhoneGap/Cordova
Xamarin
Unity
Qt
Adobe Air
Appcelerator
Corona
Marmelade
Codename One
Live Code
Using this tool
Vision Mobile Analysis of Cross-Platform Development, July 2015
Bringing More People To Apps
様々なソリューションがCordovaを採用 12
Bringing More People To Apps
Cordovaの課題?
13
Bringing More People To Apps
Cordovaの課題としてしばしば挙げられ
るもの
1. パフォーマンス
2. 脆弱性対策
14
Bringing More People To Apps
端末の大幅な進化
初代Xperia Xperia Z 5
発売日: 2010年4月
Android 1.6 (後に2.1)
1GHz シングルコアCPU
384MBメモリー
ベンチマークスコア: 3361
発売日: 2016年6月
Android 6.0
2GHz クワッド(8)コアCPU
3GBメモリー
ベンチマークスコア: 52084
5年間で20倍もの
スピードアップ
15
Bringing More People To Apps
HTML5アプリ向けUIフレームワークの登
場
16
Bringing More People To Apps
Onsen UI
 ハイパフォーマンスなUIを実現
 プラットフォームを判別して自動でスタイルが変化
17
Bringing More People To Apps
豊富なUIパーツを利用可能 18
Bringing More People To Apps
使い方は独自タグを記述するだけの簡単設
計
<ons-toolbar></ons-toolbar>
<ons-list-item></ons-list-item>
<ons-tabbar></ons-tabbar>
19
Bringing More People To Apps
様々なJSフレームワークとの組み合わせ
が可能
20
Bringing More People To Apps
事例:ジャパンネット銀行
残高確認アプリ
▶Onsen UIでネイティブと遜色ないUIを実現
21
Bringing More People To Apps
Cordovaの脆弱性に関する問題 22
Bringing More People To Apps
Cordovaアプリにおける脆弱性の種類 23
1. Cordovaに依存する脆弱性
▶ 最新バージョンのCordovaを利用する
2. アプリの実装に依存する脆弱性
▶ Webアプリと同様にXSS対策などが必要
3. WebViewに依存する脆弱性
▶ Android5.0以降はGoogle Playから随時アップデートされる
Bringing More People To Apps
古いWebViewが抱える問題
 Android4.4まではWebViewがOSに付属するため、アップデートは
メーカーから提供される(脆弱性放置の危険性)
 GoogleがAndroid4.3以前のWebViewに対するセキュリティパッ
チの提供を終了した
24
Bringing More People To Apps
Crosswalk使用通常のCordovaアプリ
Androidアプリ
 ChromiumベースのWebView
 アプリ内に埋め込んで配布することが可能
Androidアプリ
端末の
WebView
Intel Crosswalk 25
Bringing More People To Apps
Cordova開発におけるポイントまとめ
 Webの技術でクロスプラットフォーム開発
 Web技術者のスキルを活用
 既存システムの流用が可能
 Web技術でもネイティブ機能が利用可
 パフォーマンスやセキュリティ対策ツールも完備
 UIフレームワークやCrosswalkの導入はほぼ必須
26
Bringing More People To Apps
Monacaもよろしくお願いします!
 15万人が利用するCordova開発環境(IDE)
 実機によるリアルタイム検証が可能
 WindowsマシンでもiOSアプリ開発OK
https://ja.monaca.io/
27

Weitere ähnliche Inhalte

Was ist angesagt?

Node RED で実現する製造業の DX
Node RED で実現する製造業の DXNode RED で実現する製造業の DX
Node RED で実現する製造業の DX
雅治 新澤
 
Redmineをつかったスクラム開発のはじめの一歩
Redmineをつかったスクラム開発のはじめの一歩Redmineをつかったスクラム開発のはじめの一歩
Redmineをつかったスクラム開発のはじめの一歩
kiita312
 

Was ist angesagt? (20)

ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 (  Redmine of one plant 2022 ...ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 (  Redmine of one plant 2022 ...
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
 
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
 
データマイニングの話詰め合わせ
データマイニングの話詰め合わせデータマイニングの話詰め合わせ
データマイニングの話詰め合わせ
 
OutSystems 新機能紹介: Reactive Web
OutSystems 新機能紹介: Reactive WebOutSystems 新機能紹介: Reactive Web
OutSystems 新機能紹介: Reactive Web
 
Node RED で実現する製造業の DX
Node RED で実現する製造業の DXNode RED で実現する製造業の DX
Node RED で実現する製造業の DX
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
 
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
 
1から学ぶスクラム
1から学ぶスクラム1から学ぶスクラム
1から学ぶスクラム
 
Google Cloud で実践する SRE
Google Cloud で実践する SRE  Google Cloud で実践する SRE
Google Cloud で実践する SRE
 
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
 
プロのためのNode-RED再入門
プロのためのNode-RED再入門プロのためのNode-RED再入門
プロのためのNode-RED再入門
 
KYC and identity on blockchain
KYC and identity on blockchainKYC and identity on blockchain
KYC and identity on blockchain
 
挫折しないRedmine (2022)
 挫折しないRedmine  (2022) 挫折しないRedmine  (2022)
挫折しないRedmine (2022)
 
モノタロウの開発・リリースサイクルを支えるJenkinsの活用事例 - Jenkins Day Japan 2021
モノタロウの開発・リリースサイクルを支えるJenkinsの活用事例 - Jenkins Day Japan 2021モノタロウの開発・リリースサイクルを支えるJenkinsの活用事例 - Jenkins Day Japan 2021
モノタロウの開発・リリースサイクルを支えるJenkinsの活用事例 - Jenkins Day Japan 2021
 
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
 
Redmineをつかったスクラム開発のはじめの一歩
Redmineをつかったスクラム開発のはじめの一歩Redmineをつかったスクラム開発のはじめの一歩
Redmineをつかったスクラム開発のはじめの一歩
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
 

Andere mochten auch

Andere mochten auch (12)

Html5/JSモバイルアプリ最前線
Html5/JSモバイルアプリ最前線Html5/JSモバイルアプリ最前線
Html5/JSモバイルアプリ最前線
 
160407 cordova勉強会
160407 cordova勉強会160407 cordova勉強会
160407 cordova勉強会
 
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneWinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
 
cordova/electronの構造を知る
cordova/electronの構造を知るcordova/electronの構造を知る
cordova/electronの構造を知る
 
20141030 html5j-firefox os-deviceapi
20141030 html5j-firefox os-deviceapi20141030 html5j-firefox os-deviceapi
20141030 html5j-firefox os-deviceapi
 
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
 
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
Windows ストアアプリから使かえるセンサーAPIとデバイスAPIWindows ストアアプリから使かえるセンサーAPIとデバイスAPI
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
 
ウェブ標準デバイス系 API 総集編 2014
ウェブ標準デバイス系 API 総集編 2014ウェブ標準デバイス系 API 総集編 2014
ウェブ標準デバイス系 API 総集編 2014
 
Visual Studio 2015 を使用した Cordova アプリの開発
Visual Studio 2015 を使用した Cordova アプリの開発Visual Studio 2015 を使用した Cordova アプリの開発
Visual Studio 2015 を使用した Cordova アプリの開発
 
Onsen UIが目指すもの
Onsen UIが目指すものOnsen UIが目指すもの
Onsen UIが目指すもの
 
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
 
Chrome Apps のデバイスAPI
Chrome Apps のデバイスAPIChrome Apps のデバイスAPI
Chrome Apps のデバイスAPI
 

Ähnlich wie Cordovaの特徴と開発手法概要

ICT ERA+ABC 2012東北講演
ICT ERA+ABC 2012東北講演ICT ERA+ABC 2012東北講演
ICT ERA+ABC 2012東北講演
Monaca
 
Cordova (PhoneGap) で始める、スマホアプリ開発
Cordova (PhoneGap) で始める、スマホアプリ開発Cordova (PhoneGap) で始める、スマホアプリ開発
Cordova (PhoneGap) で始める、スマホアプリ開発
Kenichi Inoue
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
Yoichiro Sakurai
 

Ähnlich wie Cordovaの特徴と開発手法概要 (20)

DeviceConnect向けCordovaプラグインを作ってみた
DeviceConnect向けCordovaプラグインを作ってみたDeviceConnect向けCordovaプラグインを作ってみた
DeviceConnect向けCordovaプラグインを作ってみた
 
【デブサミ関西2014】Web技術で作るエンタープライズアプリ
【デブサミ関西2014】Web技術で作るエンタープライズアプリ【デブサミ関西2014】Web技術で作るエンタープライズアプリ
【デブサミ関西2014】Web技術で作るエンタープライズアプリ
 
PhoneGapの始め方
PhoneGapの始め方PhoneGapの始め方
PhoneGapの始め方
 
ICT ERA+ABC 2012東北講演
ICT ERA+ABC 2012東北講演ICT ERA+ABC 2012東北講演
ICT ERA+ABC 2012東北講演
 
Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣
 
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
 
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンスHTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
 
Cordova (PhoneGap) で始める、スマホアプリ開発
Cordova (PhoneGap) で始める、スマホアプリ開発Cordova (PhoneGap) で始める、スマホアプリ開発
Cordova (PhoneGap) で始める、スマホアプリ開発
 
PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化
 
Monaca事例から学ぶHTML5モバイルアプリの活用ポイント
Monaca事例から学ぶHTML5モバイルアプリの活用ポイントMonaca事例から学ぶHTML5モバイルアプリの活用ポイント
Monaca事例から学ぶHTML5モバイルアプリの活用ポイント
 
DevOps 概要 - インフラ革命、今起きていること
DevOps 概要 - インフラ革命、今起きていることDevOps 概要 - インフラ革命、今起きていること
DevOps 概要 - インフラ革命、今起きていること
 
クリスマス直前! HTML5 で作る♥ はじめての iOS & Android アプリ開発
クリスマス直前!HTML5 で作る♥はじめての iOS & Android アプリ開発クリスマス直前!HTML5 で作る♥はじめての iOS & Android アプリ開発
クリスマス直前! HTML5 で作る♥ はじめての iOS & Android アプリ開発
 
Web標準技術で iOS、Android両対応アプリを開発
Web標準技術でiOS、Android両対応アプリを開発Web標準技術でiOS、Android両対応アプリを開発
Web標準技術で iOS、Android両対応アプリを開発
 
Monacaでつくるハイブリッドアプリ
MonacaでつくるハイブリッドアプリMonacaでつくるハイブリッドアプリ
Monacaでつくるハイブリッドアプリ
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
 
Global engineerlab kawani
Global engineerlab kawaniGlobal engineerlab kawani
Global engineerlab kawani
 
2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordova2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordova
 
エンタープライズにおけるiOSアプリ開発で押さえておくべき7つのこと
エンタープライズにおけるiOSアプリ開発で押さえておくべき7つのことエンタープライズにおけるiOSアプリ開発で押さえておくべき7つのこと
エンタープライズにおけるiOSアプリ開発で押さえておくべき7つのこと
 
企画者が押さえておきたいHtml5アプリ開発の要点
企画者が押さえておきたいHtml5アプリ開発の要点企画者が押さえておきたいHtml5アプリ開発の要点
企画者が押さえておきたいHtml5アプリ開発の要点
 
PhoneGap勉強会 in 熊本
PhoneGap勉強会 in 熊本PhoneGap勉強会 in 熊本
PhoneGap勉強会 in 熊本
 

Mehr von アシアル株式会社

創業明治33年の衣料卸問屋がﰀ アプリで挑むコミュニケーション変革 ﰀ ~MonacaとmBaaSを活用したﰀ ビジネスチャットアプリの紹介〜 ﰀ
創業明治33年の衣料卸問屋がﰀ アプリで挑むコミュニケーション変革 ﰀ ~MonacaとmBaaSを活用したﰀ ビジネスチャットアプリの紹介〜 ﰀ創業明治33年の衣料卸問屋がﰀ アプリで挑むコミュニケーション変革 ﰀ ~MonacaとmBaaSを活用したﰀ ビジネスチャットアプリの紹介〜 ﰀ
創業明治33年の衣料卸問屋がﰀ アプリで挑むコミュニケーション変革 ﰀ ~MonacaとmBaaSを活用したﰀ ビジネスチャットアプリの紹介〜 ﰀ
アシアル株式会社
 

Mehr von アシアル株式会社 (20)

MonacaとEducation活動の紹介
MonacaとEducation活動の紹介MonacaとEducation活動の紹介
MonacaとEducation活動の紹介
 
PWA 4 Business
PWA 4 BusinessPWA 4 Business
PWA 4 Business
 
Monacaによるモバイルアプリ開発ことはじめ
Monacaによるモバイルアプリ開発ことはじめMonacaによるモバイルアプリ開発ことはじめ
Monacaによるモバイルアプリ開発ことはじめ
 
kintone 連携スマホアプリの開発・配布体験
kintone 連携スマホアプリの開発・配布体験kintone 連携スマホアプリの開発・配布体験
kintone 連携スマホアプリの開発・配布体験
 
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
 
書籍『Monacaで学ぶはじめてのプログラミング』発展資料(試験問題アプリ編)
書籍『Monacaで学ぶはじめてのプログラミング』発展資料(試験問題アプリ編)書籍『Monacaで学ぶはじめてのプログラミング』発展資料(試験問題アプリ編)
書籍『Monacaで学ぶはじめてのプログラミング』発展資料(試験問題アプリ編)
 
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)
 
Onsen UI 2 開発における JS フレームワーク衝突事例集
Onsen UI 2 開発における JS フレームワーク衝突事例集Onsen UI 2 開発における JS フレームワーク衝突事例集
Onsen UI 2 開発における JS フレームワーク衝突事例集
 
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)
 
Onsen UI の最近とこれから 〜 国内サポートはじめました
Onsen UI の最近とこれから 〜 国内サポートはじめましたOnsen UI の最近とこれから 〜 国内サポートはじめました
Onsen UI の最近とこれから 〜 国内サポートはじめました
 
最新UIフレームワーク Onsen UI2で カッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2で カッコイイWordPress連携アプリを作る方法
 
Gartner summit 2016
Gartner summit 2016Gartner summit 2016
Gartner summit 2016
 
モバイル用Webフレームワーク最前線
モバイル用Webフレームワーク最前線モバイル用Webフレームワーク最前線
モバイル用Webフレームワーク最前線
 
Monacaソリューションセミナー20160621
Monacaソリューションセミナー20160621Monacaソリューションセミナー20160621
Monacaソリューションセミナー20160621
 
20160308seminar2
20160308seminar220160308seminar2
20160308seminar2
 
Nifty cloud mbaas
Nifty cloud mbaasNifty cloud mbaas
Nifty cloud mbaas
 
創業明治33年の衣料卸問屋がﰀ アプリで挑むコミュニケーション変革 ﰀ ~MonacaとmBaaSを活用したﰀ ビジネスチャットアプリの紹介〜 ﰀ
創業明治33年の衣料卸問屋がﰀ アプリで挑むコミュニケーション変革 ﰀ ~MonacaとmBaaSを活用したﰀ ビジネスチャットアプリの紹介〜 ﰀ創業明治33年の衣料卸問屋がﰀ アプリで挑むコミュニケーション変革 ﰀ ~MonacaとmBaaSを活用したﰀ ビジネスチャットアプリの紹介〜 ﰀ
創業明治33年の衣料卸問屋がﰀ アプリで挑むコミュニケーション変革 ﰀ ~MonacaとmBaaSを活用したﰀ ビジネスチャットアプリの紹介〜 ﰀ
 
HTML5ハイブリッドアプリ開発 で拓くビジネスチャンス
HTML5ハイブリッドアプリ開発で拓くビジネスチャンスHTML5ハイブリッドアプリ開発で拓くビジネスチャンス
HTML5ハイブリッドアプリ開発 で拓くビジネスチャンス
 
HTML5ハイブリッドアプリ の活用ポイント
HTML5ハイブリッドアプリの活用ポイント HTML5ハイブリッドアプリの活用ポイント
HTML5ハイブリッドアプリ の活用ポイント
 
Onsen UI 2.0とUIライブラリの未来
Onsen UI 2.0とUIライブラリの未来Onsen UI 2.0とUIライブラリの未来
Onsen UI 2.0とUIライブラリの未来
 

Cordovaの特徴と開発手法概要

  • 1. Bringing More People To Apps Cordovaの特徴と 開発手法概要 アシアル株式会社 生形 可奈子 1
  • 2. Bringing More People To Apps 生形可奈子(うぶかたかなこ) アシアル株式会社 Monacaエバンジェリスト 2 Cordova の章
  • 3. Bringing More People To Apps Cordovaとは? 3
  • 4. Bringing More People To Apps HTML5アプリ用フレームワーク Cordova Apacheソフトウェア財団 PhoneGap アドビシステムズ 4
  • 5. Bringing More People To Apps Cordova?PhoneGap?  2008年、Nitobi社がPhoneGapを開発。  2011年、Adobe社がNitobi社を買収。 PhoneGapはApache財団に寄贈され、名称を「Cordova」に変更。 同時に「PhoneGap」はAdobeの登録商標に。 5
  • 6. Bringing More People To Apps Cordovaコミッターの会合@マイクロソフト 6
  • 7. Bringing More People To Apps Web標準技術(HTML/CSS/JavaScript) でアプリ開発  WebView上にHTMLをロードしてUIを作成するので、Web開 発と同じ方法でモバイルアプリ開発が可能 7
  • 8. Bringing More People To Apps Cordovaの仕組み 8 Cordova層 HTML5層 (WebView) アプリ本体はHTML5で実装 CordovaがOSに合わせた ネイティブコードを提供 OS 1. JavaScriptでAPI実行 2. Cordovaがネイティブ 機能を実行
  • 9. Bringing More People To Apps プラグインでネイティブ機能を拡張  ネイティブの各種機能は、プラグイン形式で実装されている  標準プラグインの他にも、第三者によって提供されたプラグインを 取り込んで機能を拡張できる 9 標準プラグイン ・カメラ ・位置情報 ・電話帳 ・加速度センサー ・ファイルアクセス サードパーティ製 プラグイン ・Bluetooth ・プッシュ通知 ・アプリ内課金 ・バーコード読取 ・IoT 自作プラグイン
  • 10. Bringing More People To Apps 事例:タニタヘルスプラネット ▶ 体組成計連携の健康管理アプリを2ヶ月で開発 ▶ Bluetooth、NFCを使って専用の体組成計、歩数計からデータを自 動で受け取ることが可能 10
  • 11. Bringing More People To Apps CordovaはCross PlatformツールNo.1 11 61% 35% 31% 18% 15% 13% 12% 9% 4% 3% 0% 10% 20% 30% 40% 50% 60% 70% PhoneGap/Cordova Xamarin Unity Qt Adobe Air Appcelerator Corona Marmelade Codename One Live Code Using this tool Vision Mobile Analysis of Cross-Platform Development, July 2015
  • 12. Bringing More People To Apps 様々なソリューションがCordovaを採用 12
  • 13. Bringing More People To Apps Cordovaの課題? 13
  • 14. Bringing More People To Apps Cordovaの課題としてしばしば挙げられ るもの 1. パフォーマンス 2. 脆弱性対策 14
  • 15. Bringing More People To Apps 端末の大幅な進化 初代Xperia Xperia Z 5 発売日: 2010年4月 Android 1.6 (後に2.1) 1GHz シングルコアCPU 384MBメモリー ベンチマークスコア: 3361 発売日: 2016年6月 Android 6.0 2GHz クワッド(8)コアCPU 3GBメモリー ベンチマークスコア: 52084 5年間で20倍もの スピードアップ 15
  • 16. Bringing More People To Apps HTML5アプリ向けUIフレームワークの登 場 16
  • 17. Bringing More People To Apps Onsen UI  ハイパフォーマンスなUIを実現  プラットフォームを判別して自動でスタイルが変化 17
  • 18. Bringing More People To Apps 豊富なUIパーツを利用可能 18
  • 19. Bringing More People To Apps 使い方は独自タグを記述するだけの簡単設 計 <ons-toolbar></ons-toolbar> <ons-list-item></ons-list-item> <ons-tabbar></ons-tabbar> 19
  • 20. Bringing More People To Apps 様々なJSフレームワークとの組み合わせ が可能 20
  • 21. Bringing More People To Apps 事例:ジャパンネット銀行 残高確認アプリ ▶Onsen UIでネイティブと遜色ないUIを実現 21
  • 22. Bringing More People To Apps Cordovaの脆弱性に関する問題 22
  • 23. Bringing More People To Apps Cordovaアプリにおける脆弱性の種類 23 1. Cordovaに依存する脆弱性 ▶ 最新バージョンのCordovaを利用する 2. アプリの実装に依存する脆弱性 ▶ Webアプリと同様にXSS対策などが必要 3. WebViewに依存する脆弱性 ▶ Android5.0以降はGoogle Playから随時アップデートされる
  • 24. Bringing More People To Apps 古いWebViewが抱える問題  Android4.4まではWebViewがOSに付属するため、アップデートは メーカーから提供される(脆弱性放置の危険性)  GoogleがAndroid4.3以前のWebViewに対するセキュリティパッ チの提供を終了した 24
  • 25. Bringing More People To Apps Crosswalk使用通常のCordovaアプリ Androidアプリ  ChromiumベースのWebView  アプリ内に埋め込んで配布することが可能 Androidアプリ 端末の WebView Intel Crosswalk 25
  • 26. Bringing More People To Apps Cordova開発におけるポイントまとめ  Webの技術でクロスプラットフォーム開発  Web技術者のスキルを活用  既存システムの流用が可能  Web技術でもネイティブ機能が利用可  パフォーマンスやセキュリティ対策ツールも完備  UIフレームワークやCrosswalkの導入はほぼ必須 26
  • 27. Bringing More People To Apps Monacaもよろしくお願いします!  15万人が利用するCordova開発環境(IDE)  実機によるリアルタイム検証が可能  WindowsマシンでもiOSアプリ開発OK https://ja.monaca.io/ 27