1
iOS 8で輝く4つのWebテクノロジー

専門家たちはここ数年、ネイティブ アプリが Web アプリより優れているかどうかについて議論を重ねてきましたが、Apple は Safari のモバイル版を静かに改良し、機能を追加し、パフォーマンスを向上させ、一般的に、そのデバイスがデスクトップで利用できるものに可能な限り近いブラウジング環境を提供できるようにしてきました。

アップデートは目立たないことが多いが、注目を集めるのも不思議ではない。2007年当時はiPhone OSと呼ばれていたが、その際立ったセールスポイントの1つは、本格的なブラウザを搭載していたことだ。

Web テクノロジへの重点は iOS 8 でも継続され、OS の最初の導入以来、Safari とその基盤テクノロジにおそらく最も大きな変更が導入されることになります。

スピード、スピード、スピード(そして安全)

iOS 8の最大の変更点の一つは、SafariのレンダリングエンジンであるWebKitを搭載した埋め込みWebビューを備えたアプリの速度向上です。2008年のiOS 4.3のリリース時には、WebKitは多くのWebページを動かす言語であるJavaScriptを機械語に動的に翻訳できる高性能スクリプトエンジンを搭載していました。

Nitroと名付けられたこの「ジャストインタイム」コンパイラには、大きな欠点が一つありました。Safari内でウェブページを開いた場合にのみ利用可能だったのです。Nitroが機能するには、通常サードパーティ製アプリには付与されない特別なサンドボックス権限が必要です。例えば、サードパーティ製アプリは、App Storeへのアプリ提出時にAppleの事前承認を受けていないコードを実行できないようにするのです。

リーダーウェブビュー

iOS 8 では、Reeder などの埋め込み Web ビューを使用するアプリは、これまでサードパーティ アプリでは利用できなかった多くの機能を利用できるようになります。

しかし、iOS 8では、新しい拡張機能により、すべてのアプリでSafariと同等のパフォーマンスを実現できます。新しい埋め込みメカニズムをオプトインすれば、サードパーティ開発者はブラウザのレンダリングエンジンをコードに直接埋め込むことができ、Nitroのすべての拡張機能といくつかの追加パフォーマンストリックを完全に活用できます。

さらに素晴らしいのは、サンドボックスの問題を回避し、Nitro を常に有効にしておくために、この新しいテクノロジーは、Web ビューをホストアプリのレンダリングキャンバスを共有する独立したプログラムとして実行することで機能します。つまり、JavaScript を多用するページでアプリの速度が極端に低下することはなく、メモリ不足などによるレンダリングエンジンのクラッシュによってサードパーティ製アプリがダウンすることもないため、ネイティブコンテンツと Web コンテンツの統合がより安全かつ安定的になります。

三次元の旅

今年の WWDC で発表された 2 つ目の大きな発表は、iOS 8 の Safari が初めて、デバイスの GPU を使用したハードウェア アクセラレーションによって 3D グラフィックスをレンダリングできるようになるという点です。

公平を期すために言うと、この機能は必ずしも新しいものではありません。Web上で3Dプ​​ログラミングを可能にする技術であるWebGLは2011年にリリースされ、iOSのいくつかのバージョンのSafariに搭載されてきました。しかし、Appleはこれをデフォルトで無効化し、有効化するソフトウェアスイッチをプライベートAPIの背後に隠すことで、サードパーティ製アプリが事実上この技術を利用できないようにしました。(ただし、Appleは自社のiAdサービスについては例外を設けています。おそらく、表示内容を制御できるようにしたためでしょう。)

今年後半にiOS 8がついにリリースされると、WebGLがデフォルトで有効になり、ユーザーはWebGL対応コンテンツを提供するあらゆるウェブサイトにフルアクセスできるようになります。これにより、ブラウザ内や埋め込みWebビュー内で、バーチャルショールームから本格的な3Dゲームまで、幅広い新しいアプリケーションが利用可能になります。

1匹の魚、2匹の魚、ビデオの魚

iOS 8 バージョンの Safari には、主に省電力とメディア管理の 2 つのカテゴリに分類される、多数のビデオ再生機能強化が搭載されています。

省電力化の面では、Appleはメディア再生時のバッテリー消費を抑えるための様々な工夫を実装しており、特に他のWebコンテンツと組み合わせる際に顕著です。特に注目すべき機能として、ビデオがハードウェアで直接合成されるようになったこと、そしてHTTP Live Streamingなどの技術が拡張され、帯域幅の使用量が少なく読み込みが高速な、完全にアダプティブなビデオストリームを提供できるようになったことが挙げられます。

メディア管理に関しては、クパチーノのエンジニアは、JavaScript がビデオ コンテンツと対話する機能を大幅に強化し、さらに、JavaScript が Web ページ内から直接ストリームを操作および生成できるようにする、Media Source Extensions と呼ばれる新しいテクノロジも実装しました。

これらの新機能により、タイムシフトライブストリーム、インタラクティブなマルチアングル再生など、Web 上のビデオを活用するさまざまな新しいアプリケーションが登場する可能性があります。

落ち着いて進み続けましょう

iOS 8 に導入される最後の一連の改善により、Safari はオペレーティング システム全体の Continuity フレームワークのサポートによって強化され、デバイス間、さらには配布メディア間でのアプリの通信が向上します。

iOS 8 ハンドオフ Safari

Safari は Apple の新しい Handoff テクノロジーをサポートしており、どのデバイスでも簡単にタスクを開始できます。

例えば、iOS 8の新しいAPIにより、アプリとウェブサイトは認証情報を共有できます。これは最も基本的なレベルでは、FeedlyやDropboxなどのWebベースサービスにおいて、ネイティブ版とWebベース版を切り替える際に、ユーザー名とパスワードを再入力する必要がなくなることを意味します。サードパーティ製アプリが保持する認証情報のロック解除に使用できるTouch IDセンサーを搭載した新しいデバイスでは、ユーザー名とパスワードを再度入力する必要がなくなり、セキュリティとユーザビリティが向上します。

継続性と言えば、Safari と HTML は、Handoff などの他のテクノロジにも参加できるようになります。Handoff により、ユーザーは Web ベースとネイティブ ソフトウェア間でデータやドキュメントを簡単にやり取りすることができ、必要に応じてそれぞれの長所を活用できるようになります。

ネイティブはここまで

これらの改善は、高度な CSS ディレクティブのサポートなどの小さな項目と相まって、iOS ユーザーに優れた Web プラットフォームを提供することに関しては Apple がこれまで同様に真剣に取り組んでいること、また同社が HTML などの技術をネイティブ フレームワークの競合相手ではなく、ネイティブ フレームワークの価値ある仲間とみなしていることを証明しています。

また、WebGL やビデオ再生など、上で挙げた機能強化の多くは、Windows や Android などの他のプラットフォームで公開されている標準に基づいていることも注目に値します。これにより、Web 開発者はさまざまなデバイスで動作するアプリをこれまで以上に簡単に構築できるようになります。

最終的に、これは Web コンテンツと iOS 上のネイティブ アプリ間のより広範な統合につながり、Apple のモバイル デバイスに期待されるような豊富なユーザー エクスペリエンスをすべて実現できるようになります。