圧倒的パフォーマンスの「WKWebKit」
SafariそのものではなくiOS全体という話であれば、iOS 8のWeb技術における最大の注目点は「WKWebKit」ではないだろうか。
これまでiOSでは、WebにアクセスするAPIとして「UIWebView」を提供してきたが、OS XのWebKitと比較すると制約が多かった。OS XのWebKitではDOM(Document Object Model、文章や図といったWebページの構成要素)にまでアクセス可能だが、iOSのUIWebViewにはそこまでのAPIが用意されていなかったのだ。
しかし、AppleはiOS 8でついに“大きな一歩”を踏み出した。UIWebViewを温存し互換性を維持しつつ、新しいWebビュー「WKWebKit」を用意したのだ。WebKitにDOMレベルでアクセスできるAPIもいくつか公開されたため、Webアプリのパフォーマンスが大幅に改善されると考えられる。
なんといっても、WKWebviewではJavaScriptエンジンに「Nitro」を利用できる。NitroはSafariにしか利用が許可されてこなかったが、サードパーティー製アプリでもWKWebViewを使えばNitroの恩恵にあずかれるのだ。
実際、UIWebViewとのパフォーマンスの差は一目瞭然。iOSのSafariはまだUIWebViewベースのため、パフォーマンス測定には使えないが、App Storeで公開されている「WebView - WKWebView and UIWebView rendering」というサードパーティー製アプリがある。このアプリは、WKWebViewとUIWebViewそれぞれで1つのURLをレンダリングする機能を持つので、同条件でパフォーマンスを比較できるのだ。
WebView - WKWebView and UIWebView rendering | |||
---|---|---|---|
価格 | 無料 | 作者 | MashSpots |
バージョン | 1.2 | ファイル容量 | 4.9 MB |
対応デバイス | iPhone/iPad/iPod touch | 対応OS | iOS 8.0以降 |
最初に試したのは「Speedometer」。WebKitチームが開発した、DOMオブジェクトに着目しWebアプリの応答性を測定するベンチマークだ。結果はUIWebKitが23.82、WKWebKitが26.48(いずれもiPhone 6で測定)と、大きな差とはいえないまでもWKWebKitに軍配が挙がった。
次に試したのは、定番JavaScriptベンチマーク「SunSpider 1.02」。こちらは差が歴然、UIWebViewは1177.7ms、WKWebKitが341.4msとなった(いずれもiPhone 6で測定)。iOSのSafariにおけるWebアプリのボトルネックは、JavaScriptではなくDOM再描画にあるが、これまでNitroを利用できなかったサードパーティー製アプリは事情が異なる。iOS 8以降、Webアプリの可能性は一気に高まることだろう。
この連載の記事
-
第187回
iPhone
NFCの世界を一変させる!? iOS 11「Core NFC」の提供開始が意味するもの -
第186回
iPhone
Appleと「4K HDR」 - iOS 11で写真/動画を変える「HEIF」と「HEVC」 -
第185回
iPhone
iPhone 7搭載の「A10 Fusion」「W1」は何を変えるか -
第184回
iPhone
オープンソース化された「PowerShell」をMacで使う -
第183回
iPhone
アップル製デバイス連携の鍵、「Continuity」とは? -
第182回
iPhone
DCI-P3準拠へと歩むiPhone/iPad - WWDC基調講演で秘められた新技術は、ここにある(2) -
第181回
iPhone
WWDC基調講演で秘められた新技術は、ここにある(1) -
第180回
iPhone
WWDC直前、買い替え前にマイMacのココをチェック -
第179回
iPhone
私がiTunesを使わなくなった5つの理由 -
第178回
iPhone
今あえてiPhone「Live Photos」を知る -
第177回
iPhone
「Windows Subsystem for Linux」はOS Xのライバルとなるか? - この連載の一覧へ