[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp/index.php?FrontPage]]

-[[戻る>スマホネイティブ]]

*目次 [#z8883726]
#contents

*概要 [#pa86c11c]
スマホネイティブから、ウェブコンテンツを表示するときに使用するコンポーネント。

*Android [#ve42686d]
Android WebViewは
-Androidアプリでウェブコンテンツを表示するときに使用できる。
-Chromeの技術を使用したシステムコンポーネントである。
--コンポーネントは端末にプリインストールされている。
--最新の状態に維持される(セキュリティアップデートやその他のバグ修正を反映)。

**参考 [#x5cf1d4e]
***WebView [#kcb0f981]
-WebView | Android Developers~
https://developer.android.com/reference/android/webkit/WebView.html

***簡易ブラウザ開発 [#ye237484]
-Androidでウェブブラウザを作ろう (全12回) - プログラミングならドットインストール~
http://dotinstall.com/lessons/browser_android_v2

-Androidアプリ開発でWebViewを追加する方法【初心者向け】 | TechAcademyマガジン~
https://techacademy.jp/magazine/3503

-Android StudioでwebViewを使ってみる! - Qiita~
http://qiita.com/sy_sft_/items/508870dfccfb237d72fd

-WebViewを使ったアプリ作成 - Okomeda Net
--[[その1>http://www.okomeda.net/?cmd=read&page=WebView%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%A2%E3%83%97%E3%83%AA%E4%BD%9C%E6%88%90%E3%81%9D%E3%81%AE%EF%BC%91&word=WebView%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%A2%E3%83%97%E3%83%AA%E4%BD%9C%E6%88%90]]
--[[その2>http://www.okomeda.net/?cmd=read&page=WebView%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%A2%E3%83%97%E3%83%AA%E4%BD%9C%E6%88%90%E3%81%9D%E3%81%AE%EF%BC%92&word=WebView%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%A2%E3%83%97%E3%83%AA%E4%BD%9C%E6%88%90]]
--[[その3>http://www.okomeda.net/?cmd=read&page=WebView%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%A2%E3%83%97%E3%83%AA%E4%BD%9C%E6%88%90%E3%81%9D%E3%81%AE%EF%BC%93&word=WebView%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%A2%E3%83%97%E3%83%AA%E4%BD%9C%E6%88%90]]
--[[その4>http://www.okomeda.net/?cmd=read&page=WebView%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%A2%E3%83%97%E3%83%AA%E4%BD%9C%E6%88%90%E3%81%9D%E3%81%AE%EF%BC%94&word=WebView%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%A2%E3%83%97%E3%83%AA%E4%BD%9C%E6%88%90]]

***ハイブリッド開発 [#jc6f5cde]
HTMLコンテンツから、JavaScriptを経由して、スマホネイティブのデバイスへアクセスする。

-PhoneGap/Cordova: JavaScriptからネイティブの機能を呼び出す方法~
addJavascriptInterface方式(前編) - Build Insider~
http://www.buildinsider.net/mobile/bookhtml5hybrid/1101

--addJavascriptInterface方式
---Androidのみ
---セキュリティ的に脆弱性がある。

--カスタムURLスキーム方式
---Android and iOSをサポート
---

--JsAlert方式
---Androidのみ
---

--ローカルHTTPサーバ方式
---Android and iOSをサポート(WebAPI連携)
---ローカルに、WebAPIの実行環境の構築が必要。

***デバッグ [#k49692d7]
-[Android] WebView に読み込んだ JavaScript アプリケーションを~
Chrome Developer Tools でデバッグする~
http://qiita.com/hkusu/items/fca23e0fa5cfb1b7fe1f

***セキュリティ [#x430ac65]
WebView#addJavascriptInterfaceは危険。

-スマートフォンアプリへのブラウザ機能の実装に潜む危険 WebViewクラスの問題について:CodeZine(コードジン)~
--http://codezine.jp/article/detail/6618
--http://codezine.jp/article/detail/6618?p=2
---特定のURLのみに限定する
---http/httpsプロトコルのみに限定する

-AndroidのWebView#addJavascriptInterfaceがどれだけ危険か検証してみた (Kanasansoft Web Lab.)~
http://www.kanasansoft.com/weblab/2012/04/webview_addjavascriptinterface_of_android_is_dangerous.html

-AndroidのWebView#addJavascriptInterfaceは基本使わない方がいい、っていう話 - 愛と勇気と缶ビール~
http://zentoo.hatenablog.com/entry/20120507/1336399651
--インタフェースは貧弱だが安全なAPIを用いるとイイ。
---WebChromeClient#onJsAlert
---WebChromeClient#onJsPrompt

-WebChromeClient#onJsAlertを使う方法
--Android の WebView で addJavascriptInterface を使わず情報を渡す - Qiita~
http://qiita.com/ka_/items/f8dcde7893f3a029f151

***プロキシ [#cb35e1a3]
-参考
--エミュレータからproxyを使う|戦うおやじプログラマー~
http://ameblo.jp/f-o-p/entry-10993663145.html
--android WebView internet access problem, because of proxy? - Stack Overflow~
http://stackoverflow.com/questions/6673159/android-webview-internet-access-problem-because-of-proxy

-やってみたところ。
--最新のもので、WebView.enablePlatformNotifications()メソッドが発見できず。
--また、上記が、プロキシ認証に対応しているかどうかが不明。
--[[潔く、ローカル・プロキシを使用するようにした。>Android開発#j2ea02cb]]

***その他 [#s4ffdf73]
-Android エンジニアが Android の WebView で苦しんだ話 - Qiita~
http://qiita.com/akitaika_/items/654dafa26e1d1dd0d3dd

*iOS [#h7076133]
Android WebViewには、

-UIWebViewと
-WKWebView(UIWebViewの強化版)、
-SFSafariViewController

というWebViewがある模様。

iOSのバージョンアップに従って機能が変更されている模様。

**参考 [#mdf79dbb]
-WKWebViewとUIWebView~
http://www.slideshare.net/yukihirai52/wkwebviewanduiwebview

-iOS 9のUIWebViewがとても残念らしいので~
WKWebViewに対応したCordova iOS 4.0(未リリース)を試してみる~
https://inoccu.com/blog/2015/09/19/230210.html

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS