WebViewを利用する際に注意すべき項目をザックリと

WebViewの利点だけで採用してしまう案件をよく聞くため、注意すべき箇所をザックリとまとました。
 
 
WebViewは、アプリ内のオブジェクトとして、ブラウザを提供する機能です。インターネットサイトの表示、アプリ内のHTML表示などに利用できますが、端末内蔵ブラウザ同等のフル機能が提供されるわけではないです。過去、私が体験したものとしては
 
 
・OSバージョンでのHTMLレンダリングエンジンの違い
・Javascriptの対応
・ファイルアップロード/ダウンロードの制約、ファイル名
・脆弱性
・ユニコード、文字コード
 
 
などで問題が出ました。 最悪な問題としては、「WebViewはブラウザの機能を提供している」との勘違いで、ChromeやSafariと同等の仕様で作成して欲しいという無茶な依頼です。
 
WebViewは、Androidの内蔵ブラウザに連携すれば1時間もかからずバグもなく実装できるのですが、そもそもChromeと違うため実装不可な部分もあり、その調整に時間を掛けて揉めたあげく、「妥協」して頂くしか道が無いことが多々あります。
 
 Androidだけでも問題ありますが、WebViewを使用する理由が、「iOSアプリの開発も並行」であることが多いため、気にしなければならない問題は基本的に倍になります。何故かというと、ブラウザ違うからです・・・(悲)
 
また、Android/iOSアプリをネイティブで作らない案件は、色々と考えないといけない部分が多い、ということを押さえておきましょう。
 
※「メリットに見える」部分しか考慮せず、AndroidとiOSを1つのソースで作れると「勘違い」するため、本来は上記の通り「倍」になるところ工数が半分しかないとか(苦笑)
 
※そもそも、開発環境がAndroid ・ iOS ・ Webと、フルスタックエンジニアが必要なことも忘れがちですが。
 
 
関連記事
 
第693回:WebView とは
 
Google、Android 4.3以下のWebView問題について声明を発表
Google、古いAndroid向けWebViewパッチ打ち切りについて説明
※古いバージョンには問題があります。
 
「AndroidシステムのWebView」を更新しよう
※新しいバージョンには問題があります。
 
AndroidのWebViewの脆弱性についての私的なまとめ