cordovaを使ったhtml5ハイブリッド 型モバイルア...

Post on 28-Mar-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

Cordovaを使ったHTML5ハイブリッド

型モバイルアプリの活用ポイント

アシアル株式会社

生形 可奈子

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

アシアル株式会社のご紹介

アシアルは、「エンジニアリングでインターネットの成長を牽

引する」という事業コンセプトのもと、HTML5、JavaScriptを

中心としたWeb技術をベースにした、デベロッパー支援事業を

行っております。

モバイルアプリ開発環境 UI/UX設計 システム構築・コンサル セミナー・スクール

3URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

ハイブリッドアプリとは

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

モバイルOSシェア

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

モバイルアプリ開発に関する課題

• 開発環境、言語はOS毎に異なる

• ソースコードを別々に管理

• エンジニアの確保が困難

複数OS対応 × 需要の増大

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

HTML5という選択肢

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

ハイブリッドアプリの登場

ネイティブアプリとWebアプリ、2つのアプリの特徴をいいとこ

どりしたアプリを「ハイブリッドアプリ」と呼びます。

ハイブリッドアプリは、Webの技術を使って開発しますが、生成

されるアプリはネイティブアプリとほぼ同等のものになります。

×ネイティブアプリ Webアプリ

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

従来の開発手法とハイブリッドアプリの比較

特徴・性能ネイティブ

アプリWebアプリ

ハイブリッドアプリ

クロスプラットフォーム対応 × ○ ○

端末へのインストール ○ × ○

マーケットでの配布 ○ × ○

オフラインでの利用 ○ × ○

端末固有の機能の利用 ○ △ ○

アプリ実行速度 ○ △ △

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

ハイブリッドアプリの仕組み

ハイブリッドアプリは、Cordova(PhoneGap)というライブラ

リを利用して開発します。 CordovaはHTMLで作成されたコード

をネイティブコードでパッケージングします。

ネイティブコード

HTMLコンテンツ

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

ネイティブコード

ネイティブ機能呼び出しの仕組み

カメラなどの端末固有の機能を呼び出す場合、開発者は

JavaScriptで命令を記述します。するとCordovaがネイティブ

コードによって対応する機能を実行します。

HTML・CSS・JavaScript

連絡帳GPSカメラ

11URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

ハイブリッドアプリ事例紹介

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

テレ朝動画アプリ

本日紹介するアプリ

シューズファインダーHealthPlanetauヘッドライン

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

• 株式会社テレビ朝日

• YouTube上の公式動画閲覧アプリ

• SNS連携、お気に入り登録など

事例1:テレ朝動画アプリ

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

Android iPhone iPad

1ソースでマルチデバイス対応

HTMLは共通

CSS切替style.css style2.css

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

データ取得方法

ローカルストレージ

お気に入り

YouTube DataAPI

テレ朝動画アプリ管理サーバー

xml

動画情報

json

おすすめ・公式チャンネル情報

コンテンツはXMLやJSONで取得

アプリ設定は端末内に保存

HTMLテンプレートはアプリ内に保持

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

• KDDI株式会社、株式会社テレビ朝日

• auスマートパス対応ニュースアプリ

• auのAndroid端末にプリインストール

事例2:auヘッドライン

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

一般的なアプリ更新の仕組み

アプリ更新

マーケット公開まで、申請から数日

通知

アップデート(ユーザー任意)

申請

修正戻し

マーケット

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

レイアウト変更やコンテンツの拡充は、即時反映

auヘッドラインの仕組み

HTML・CSS更新

アプリ起動時に取得する

サーバに配置

コンテンツ配信サーバ

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

事例3:Health Planet

• 株式会社タニタヘルスリンク

• 既存の同名Webサービスとの連携

• 体重計の計測データをBluetoothで

アプリに送信

• 歩数計のデータをNFCで読み込み

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

Health Planetの仕組み

Bluetooth

NFC(Android)

HTTP

Webサービス

体重計

歩数計

REST API Cordova API

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

事例4:ASICS SHOE FINDER

• 株式会社アシックス

• 足形計測サービスと連携して、

おすすめシューズを検索

• マーケット公開しない店頭アプリ

• 開発期間は約2週間(iPadのみ)

22URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

ハイブリッドアプリ開発環境

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

Cordovaを使ったアプリの開発環境

Monaca Visual Studio Tools for Apache Cordova

開発ベンダー アシアル マイクロソフト

デバッガー 実機 Visual Studioに統合されたエミュレータ

ビルド機能 クラウドビルド ビルド環境のセットアップ(iOSアプリの場合はMac PCとXcodeも)が必要

Visual StudioでCordovaアプリ開発を行うツールには、以下

の2つがあります。

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

Monaca for Visual Studio

Visual Studioの拡張機能です。Visual Studio上でMonacaの

機能(実機でのデバッグやAndroid/iOSアプリのビルドなど)

を利用することができます。

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

Monacaとは

• クラウドベースのハイブリッドアプリ開発環境

• iOS, Android, Windows 8, Chrome Apps対応

• 日本語サポート・ドキュメント

• Windowsマシンでも開発OK

• 無料〜

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

Monacaによるアプリ開発

ブラウザだけで開発〜テスト〜アプリの生成までのすべての工程

を行うことができます。

①ブラウザで開発 ②実機でデバッグ ③ブラウザでビルド

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

Monacaの仕組み

WebベースのIDE デバッガー ビルドシステム

クラウド

ソースコードはクラウド上に ターゲットOSに

合わせた環境でアプリをビルド

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

ハイブリッドアプリが抱える課題

1. Androidアプリのパフォーマンス

2. Androidの断片化問題

3. セキュリティ対策が万全でない

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

パフォーマンス対策:Onsen UI

・モバイルアプリライクな

フラットデザイン

・CSSによる、ネイティブと

遜色ないアニメーション

・SPAの構築が容易

HTMLの独自タグを記述することで、モバイル用UIを簡単に構築

することができるAngularJSベースのフレームワークです。

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

断片化対策:Crosswalk

通常のハイブリッドアプリでは、OSに付属しているWebView

を利用していますが、MonacaではIntelのCrosswalkという

WebViewをアプリに内包してビルドすることができます。

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

セキュリティ対策:ソースコード暗号化

WebView

暗号化済みリソース

読み込み対象ファイルを復号化

ファイル読み込み

メモリ上のデータをWebViewにロード

復号化データ(メモリ上)

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

Monacaエンタープライズ

エンタープライズ向けの有料プランで、業務アプリ開発をセ

キュアかつ効率的に行うための各種機能を提供します。

・ソースコードの暗号化

・アプリの自動更新機能

・SAP等の既存システムとの連携

・サポートチームによる開発支援

33URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

デモ

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

Monacaによるアプリ開発まとめ

Web標準技術のみを使って開発ができる

多くの端末やOSに、ワンソースで対応できる

リモートデバッグ・リモートビルド機能で手軽に

開発・検証できる

ハイブリッドアプリの弱点を補う暗号化プラグイ

ンやUIフレームワークなどを提供

URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.

https://ja.monaca.io/

top related