Android OSと「ブラウザ」、Chrome、アプリ内ブラウザーの関係をまとめる:Tech TIPS
Androidスマートフォン/タブレットにプレインストールされている「ブラウザ」と「Chrome」。何が違うのか? どうして2種類あるのか? アプリ内ブラウザーにはどっちが使われる? これらの分かりにくい関係を整理する。
対象ソフトウエア:Android OS 4.x/5.x、Chromeブラウザー、AOSPブラウザー、WebViewコンポーネント
解説
Androidスマートフォン/タブレットで、アプリに表示されたリンクやURLをタップすると、「アプリケーションを選択」画面にブラウザーアプリの一覧が表示される。ここには「ブラウザ」や「Chrome」が表示されることがよくある。
複数のWebブラウザーがプレインストールされているAndroid端末の例
これはAndroid OS 4.0を搭載した端末で、Webページへのリンクをタップしたところ。「ブラウザ」と「Chrome」という2種類のWebブラウザーが選択できる。それぞれタップすると、異なるブラウザーアプリが起動するはずだ。
なぜデフォルトで複数のブラウザーが表示されるのだろうか? 「ブラウザ」というひどく抽象的なこのアプリの正体は何か? Chromeとは何が違うのか? 本TIPSではこうした疑問に応えたい。
●2種類のブラウザーの正体
まずは上記の2種類のブラウザーの概要を説明しよう。
■「Chrome」はGoogle Chromeブラウザー
「Chrome」とは、言わずと知れたGoogle提供のWebブラウザーのAndroid OS版である。Chromiumプロジェクトをベースとしていて、最新のWeb技術が素早く実装されるのが特長とされる。Android OS 4.0以降で利用可能で、Google Playストアから無償でインストールできる。端末へのプレインストールも多い。
■「ブラウザ」の実体は端末によって異なる
これに対して「ブラウザ」とは、端末ベンダーが自社のAndroid端末の標準ブラウザーとして用意し、プレインストールしているWebブラウザーである。ただ、その実体は端末によって異なる。
Android OS 4.3(コードネーム「Jelly Bean」)以前を搭載した端末の場合、「ブラウザ」の実体は、Android OSの開発プロジェクト「Android Open Source Project(AOSP)」によって開発された通称「AOSPブラウザー」であることが多い。その名が暗示するようにAndroid OSの一部として開発されてきた。Android OS版Chromeが登場するまでは、Android OSの標準ブラウザーだった。
一方、Android OS 4.4(コードネーム「KitKat」)以降の「ブラウザ」は、Chromeと同じくChromiumのコードをベースとしていることが多い。
●ChromeとAOSPブラウザーの違い
整理すると、Android端末にプレインストールされているブラウザーとしては、ChromeのようなChromiumベースと、AOSPブラウザーの2種類に大別できる。そこでChromeとAOSPブラウザーの主な違いを以下にまとめてみた。
Chromeブラウザー | AOSPブラウザー | |
---|---|---|
Android OSでのアプリの表記 | 「Chrome」 | 「ブラウザ」 |
ベースの開発プロジェクト | Chromiumプロジェクト | AOSP(Android Open Source Project) |
利用できるAndroid OS | Android OS 4.x/5.x以降 | Android OS 4.3.x以前(2.xや3.xを含む) |
最新のWeb技術への対応 | 素早く追従している | 実装が遅れがちだった |
現在の開発状況 | 現在でも開発、バージョンアップ中 | すでに開発終了 |
Windowsなど他のプラットフォームへの対応 | ○(WindowsやMac OS X、Linuxにも対応。描画エンジンは異なるもののiOS版もあり。各プラットフォーム間で設定や閲覧履歴などを同期できる) | ×(Android OS用のみ) |
入手方法 | プレインストールされた端末が多い。Google Playストアからダウンロードも可 | 端末にプレインストール |
更新方法 | Google Playストアから更新版をダウンロード(Android OSとは別に更新可能) | Android OSの一部という扱いのため、端末ベンダー提供のパッチ適用によって更新される |
バージョンの分裂・断片化 | 「Chrome」と名付けられたブラウザーは一種類(ただしベータ版や開発版といったバリエーションはある) | 端末ベンダーがよくカスタマイズしてプレインストールしているため、ばらつきは大きい |
Android端末でのChromeとAOSPブラウザーの主な違い |
●なぜ2種類のブラウザーがプレインストールされるようになったのか?
元々の標準ブラウザーだったAOSPブラウザーは、当時のHTML5のような最新のWeb技術の実装がしばしば遅れることがあった。
AOSPブラウザーでは最新のWeb技術の実装が遅れがちだった
これはAndroid OS 4.0搭載端末の「ブラウザ」(AOSPベース)で、HTML5の仕様にどれくらい準拠しているかを調べるサイトを開いたところ。同一端末のChrome最新版でのスコアは「483」(数値が大きいほどよく準拠している)だったので、「296」というスコアはずいぶんと低く、HTML5にあまり対応していないことが分かる。AOSPブラウザーはAndroid OSとともに更新されるため、Android OSが古いまま更新できないとAOSPブラウザーも改修できず、このように低いスコアを甘受せざるを得なくなる。
これに対してグーグルはまず、WindowsやMacなどデスクトップOS向けで定評のあったChromeブラウザーをAndroid OS向けにも開発し、Android OS 4.xから搭載し始めた。そして標準ブラウザーを次第にAOSPブラウザーからChromeへと切り替えていった。
その過程で、互換性維持などの理由から双方のブラウザーがともにプレインストールされることが多かったのだ(もちろん例外はあって、AOSPブラウザーが省かれてChromeのみという端末も存在していた)。
Android OS 4.4でAOSPブラウザーからChromeへの切り替えは完了している。そしてAOSPブラウザーの開発はすでに終了している。つまり主流はすでにChrome(Chromium)の方である。
●アプリ内ブラウザー(WebView)はどっち?
さてここで、もう1つのブラウザーとも言える「アプリ内ブラウザー」について触れないわけにはいかない。
Androidアプリには、(別のアプリとしての)ブラウザーを呼び出すことなく、自身の中でWebページあるいはWebアプリを表示するものが少なくない。この機能を「アプリ内ブラウザー」という。これは通常、「WebView」と呼ばれるコンポーネントによって実現されている。
Android OS 4.3以前の場合、WebViewコンポーネントはAOSPブラウザーをベースに作られている。一方Android OS 4.4以降では、Chromiumから作られている。
Android OS 5.0で、OSから分離したWebView
これはGoogle PlayストアのWebView「アプリ」のページ。それまでAndroid OSの一部だったWebViewは、Android OS 5.0(コードネームLollipop)から、Google Playストアより「AndroidシステムのWebView」という(少なくとも見かけ上は)アプリとしてダウンロードできるようになった。これによりAndroid OSとは別のタイミングで、もっと頻繁に更新できるようになったわけだ。
●AOSPブラウザーの課題は新たな脆弱性への対策
AOSPブラウザーの大きな問題点は、今後発覚するであろう新たな脆弱性を、タイムリーに端末上で修正できない可能性があることだ。
前述の通り、グーグルはAOSPブラウザーの開発を終了している。それでも脆弱性が発覚した場合はセキュリティパッチを作成しているようだ。しかし、それを実際に端末に配布するのは端末ベンダーの役割であり責任である(グーグルは同社製端末を除いて、他ベンダーの端末に直接、AOSPブラウザーを含むAndroid OS用パッチを配布することはない)。
結局、Android OS 4.3以前という今となっては「古い」端末に対し、端末ベンダーがどれくらい誠実にセキュリティパッチを提供できるか、という点が課題となっている。
ユーザー側で可能なセキュリティ対策としては、AOSPブラウザーすなわち「ブラウザ」を使わず、代わりにChromeなど別のブラウザーアプリを利用することが挙げられる。ただしWebViewコンポーネントについてはユーザー側で変更できないので、アプリベンダーが別のWebViewに切り替えたりしない限り、対策のしようがない。
●「Chrome」と「ブラウザ」、どっちを選ぶべき?
Webの最新技術への追従やセキュリティパッチの提供方法のことなどを考えると、結局、全面的にChromeへ切り替わったAndroid OS 4.4以降の端末に乗り換えることで、AOSPブラウザーを切り捨てるのが一番安全だろう。その上でChromeか、別のサードパーティ製ブラウザーを選ぶことになる。
■この記事と関連性の高い別の記事
- AndroidスマートフォンでPC向けWebページを表示させる(TIPS)
- Chromeブラウザのタスクマネージャで重い処理を調べる(TIPS)
- Windows 10のデフォルトのブラウザーをEdgeから別のブラウザーに変更する(TIPS)
- Google Chromeの「拡張機能」とは何か?(TIPS)
- AndroidでGoogle Playストア以外からアプリをインストールできるようにする(TIPS)
Copyright© Digital Advantage Corp. All Rights Reserved.