説明書を読まなくても使い方がわかるのが、iPhoneの魅力であり強みです。しかし、知っているつもりでも正しく理解していないことがあるはず。このコーナーでは、そんな「いまさら聞けないiPhoneのなぜ」をわかりやすく解説します。今回は、『「アプリ内ブラウザ」ってなんですか?』という質問に答えます。

***

FacebookやTwitter、LINEなどのアプリを利用していると、ときどき「http://」または「https://」から始まる文字列に出くわすはずです。その多くはインターネット上のWEBページの場所(アドレス)を情報として持つ「ハイパーリンク」で、タップするとそのアドレスに接続を開始します。ふだん何気なく行っている操作ですが、ハイパーリンクのタップによりWEBページの閲覧を開始していることをまずは理解しましょう。

先ほど例に挙げたアプリは、いずれも「アプリ内ブラウザ」を備えています。読んで字のごとく、アプリに組み込まれているWEBブラウザとしての機能であり、ハイパーリンクをタップしてもSafariに切り替わることなくアプリ画面上にWEBページを表示できます。

通常、あるアプリから他のアプリが呼び出されるときには、アニメーション効果を伴う画面遷移がありますが、アプリ内ブラウザを備えるアプリの場合それがありません。アプリの切り替え自体が発生しないため、画面左上に「<アプリ名」という呼び出し元のアプリへ戻るボタンも表示されません。

なぜそのような機能が組み込まれているかですが、Safariなど一般的なWEBブラウザにない操作性を持たせられること、他のアプリへの切り替えを防げることなどが挙げられます。特に後者の機能を持たせることは、アプリをSafariに切り替えるとそのままSafariを使い続けてしまう(呼び出し元のアプリに復帰しない)問題を防ぐために重要です。

なお、Appleは「UIWebView」など複数のアプリ内ブラウザ開発用フレームワークを用意しています。iOS 9のとき追加された「SFSafariViewController」はSafariと一部のデータを共有できるなど、フレームワークごとに機能差があります。それもあって、アプリ内ブラウザと一括りにできないほどアプリによって外観も機能も異なります。

Safariにアプリを切り替えることなく、呼び出し元のアプリ上にWEBページを表示できるのが「アプリ内ブラウザ」です(画面はTwitterのアプリ内ブラウザ)