2013.07.13 SUGARSPOT
AndroidにおけるHTMLの使いどころ
in 日本Androidの会 中国支部第32回勉強会
13年7月15日月曜日
自己紹介
佐藤 慎也
個人事業でAndroidアプリ開発を主とした活動してます
13年7月15日月曜日
日本Androidの会中国支部
自己紹介
GDG中国
13年7月15日月曜日
アプリ紹介Wepho BNBW きいてみるClippic
おるすばんLW おるすばんSC RapidMail Mapino TimeAjustment
マーケットで「SUGARSPOT」と検索!
Picton BW
13年7月15日月曜日
告知
8月18日(日)A8D:1
13年7月15日月曜日
昨年の様子
13年7月15日月曜日
HTMLの使いどころAndroidアプリにおける
13年7月15日月曜日
3つのパターンHTMLを使う
13年7月15日月曜日
標準ブラウザを呼び出すアプリ→ブラウザ→アプリ① 標準ブラウザを呼び出すアプリ→ブラウザ→アプリ①
WebView (HTMLをネット取得)②
WebView (HTMLを内包)③13年7月15日月曜日
標準ブラウザ呼び出し
パターン1
13年7月15日月曜日
アプリからブラウザをIntentで呼び出し
①
13年7月15日月曜日
アプリからブラウザをIntentで呼び出し
ブラウザをユーザーに操作させる
①
②
13年7月15日月曜日
アプリからブラウザをIntentで呼び出し
ブラウザをユーザーに操作させる
ブラウザからアプリに処理を戻す
①
②
③
13年7月15日月曜日
● Webシステムを流用する → 会員登録 → コンテンツの表示
● Webサービスの認証 など
どんな時につかう?
13年7月15日月曜日
intent-filterにブラウザからの呼び出しを受け取るよう記述
どうやってアプリに戻す?
<category android:name="android.intent.category.BROWSABLE"/>
13年7月15日月曜日
<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="hoge"
android:host="registration"/></intent-filter>
<a href=”hoge://registration/12345”>
[HTML]
[AndroidManifest.xml]
13年7月15日月曜日
<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="hoge"
android:host="registration"/></intent-filter>
<a href=”hoge://registration/12345”>
[HTML]
[AndroidManifest.xml]
13年7月15日月曜日
<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="hoge"
android:host="registration"/></intent-filter>
<a href=”hoge://registration/12345”>
[HTML]
[AndroidManifest.xml]
13年7月15日月曜日
<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="hoge"
android:host="registration"/></intent-filter>
<a href=”hoge://registration/12345”>
[HTML]
[AndroidManifest.xml]
プログラムで値を取得
13年7月15日月曜日
● 資産が流用できるメリット
デメリット● エラーの際などアプリに 戻らないこともあるかも●標準ブラウザへPOSTできない●オフラインで利用できない
13年7月15日月曜日
WebView(ネットからHTMLを取得)
パターン2
13年7月15日月曜日
WebView?
13年7月15日月曜日
WebView
アプリに組み込んで使える簡易ブラウザ=
13年7月15日月曜日
OSのバージョンによって違いがあります
2.1
2.2境界
OSバージョンを判別して
HTMLを切替
13年7月15日月曜日
基本的には、普通のブラウザと同じような事ができます
できること
setPluginsEnabled
setJavaScriptEnabled
setBuiltInControls
setSaveFormData
setSavePassword
プラグインの有効・無効
JavaScriptの有効・無効
ズームの有効・無効
フォームデータ保存の有効・無効
パスワード保存の有効・無効
設定で出来ること制限する(以下、一部だけ)
13年7月15日月曜日
● 簡単に使える● 出来ることを制御可能● HTMLの部分は分業しやすい● 豊富なJSライブラリが利用可● CSSで見た目を操作しやすい● POSTができる
メリット
13年7月15日月曜日
●アプリのバージョンアップを せず見た目や機能を変更可●HTMLなので拡大・縮小表示も 簡単
メリット
13年7月15日月曜日
デメリット●反応が遅い(ネイティブと比較して)
●JavaScriptを有効にしてると セキュリティ的に不安あり●OSバージョンで動きが違うかも
●URLが見えない状態だと少し 怖いよね OAuth認証の場合とか、ショッピングサイトとか 本当に正しいサイトにアクセスしてる?・・・不安
13年7月15日月曜日
デメリット
●オフラインでは使えない
13年7月15日月曜日
案件例●課金&ライセンス確認 → 起動時にライセンスサーバーへ ・ライセンスがない場合の課金はWEBで
→ ライセンスOKでアプリを利用可 ・ブラウザから戻ってきたら再度ライセンス確認
・スキームだけで判断は呼び出し元が保証できない
13年7月15日月曜日
案件例●お店のメニューアプリ → メニューはWEBサイト ・アクセス制御
→ 一定時間操作がないとスクリーン セーバーで広告を表示 ・画面操作の判定
・スクリーンセーバーでの広告表示
13年7月15日月曜日
WebView(HTMLを内包)
パターン3
13年7月15日月曜日
HTML
css
JS
HTMLHTML
JS
css
アプリに含める
13年7月15日月曜日
● オフラインでも使える● HTMLなどのダウンロードが 発生しないので少し早い●テンプレートエンジン使うと 動的HTMLも作りやすい
メリット
13年7月15日月曜日
デメリット
WebViewのデメリットは同じそのほかに、●アプリサイズが大きくなる●デザインを変更するためには アプリのバージョンアップ
13年7月15日月曜日
案件例●グラフの表示 → 色々なパターンのグラフが可能 → 折れ線グラフ、棒グラフの併用 → つかったグラフのライブラリ ・jQueryのプラグイン「jqPlot」
・http://www.jqplot.com/
13年7月15日月曜日
実際の動作デモ実機+USB+AndroidScreenMonitor
アプリ「パチ帳スロ帳」
13年7月15日月曜日
jqPlot使ってみよう
13年7月15日月曜日
サンプルを見てみるアルファシス – alphasis.info -http://alphasis.info/jquery-plugins/jqplot/
13年7月15日月曜日
HTMLの 使いどころ
まとめ
13年7月15日月曜日
発注元や利用者にとって
「何で作られてるか」は重要ではない
13年7月15日月曜日
「満足度」
13年7月15日月曜日
どこで満足度が得られるかそこは人それぞれ
13年7月15日月曜日
満足度を得られるポイントに注力するために
楽できる所は楽しよう!
13年7月15日月曜日
ネイティブで作ると面倒なとき・作業時間の問題
・費用の問題
・メンテナンスの問題
使いどころ
13年7月15日月曜日
あたりまえのはなしでしたが
まとめは以上。
13年7月15日月曜日
気になることは、個別に聞いてください
聞かなきゃ損
13年7月15日月曜日
ありがとうございました
マーケットで「SUGARSPOT」と検索!
13年7月15日月曜日
Recommended