iOS版「Chrome」が「Mobile Safari」を超えられない2つの理由
iOS 4.3以降のMobile Safariには、JavaScriptコードをジャスト・イン・タイム(JIT)にコンパイルするJavaScriptエンジン「Nitro」が搭載されている。Mobile SafariのJavaScriptベンチマークが好成績を収めるのはそのためで、Nitroの存在がなければウェブアプリのパフォーマンスも低下することになる。
一方iOSには、アプリ内にウェブブラウザー(Mobile Safari)と同じUIを提供する「UIWebView」というフレームワークが用意されている。一種のウェブブラウザーコンポーネントとして簡便に利用できるため、多くのアプリに使用されているが、このUIWebViewではNitroの高速性を生かせない。これは、セキュリティ上の理由(サンドボックス機構による制限)のため、Nitroがサードパーティー製アプリからの利用を禁止されていることが理由だ。
Google ChromeのJavaScriptベンチマークが遅い理由は2つ、独自のJavaScriptエンジン(V8)を搭載していないことと、Nitroの恩恵を受けられない(低速な)UIWebViewを使用しているであろうことの2点だ。後者はコードを調べないかぎり証明できないが、前者についてはAppleがiOSデベロッパーに課すライセンス契約(アプリ埋め込みでないスクリプト/インタープリタ機構の搭載を禁じる条項がある)により、Google Chromeもその例外ではないと判断できる。
つまり、Google Chromeは開発を始める段階から、ウェブアプリなどJavaScript処理系を必要とするタスクにおいては、Mobile Safariを超えられない運命にあったわけだ。そこをあえてリリースしてきた理由は分からないが、ただ純粋にGoogle Chromeの操作性を広範なプラットフォーム向けに提供したかっただけなのか、JavaScript処理系のハンデをものともしないメリットをユーザーに提供できる確信があったのか……。おそらく後者だとは思うが、「名にし負はば いざ言問はん……」的な部分があることには留意すべきだろう。
この連載の記事
-
第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のライバルとなるか? - この連載の一覧へ