蘋果證實 Safari 瀏覽器優化內容在第三方 iOS App 中缺席...


關於 iOS 版 Safari 跑的比較快這回事,這幾天也正式被蘋果所證實,官方表示 JavaScript 執行的優化,也就是透過 Nitro JavaScript 引擎來加速這部份,並沒有嘉惠到採用 UIWebView 作為 in-App 瀏覽的 iOS App、網路應用;關於這點,有不少軟體開發者也表達了自身的不滿,甚至有人認為蘋果此舉,根本是故意要讓其他第三方軟體、網路應用內的瀏覽器體驗比 Safari 差。

然而蘋果真的是在暗中搞鬼,一方面讓自己的 Safari 坐穩 iOS App 瀏覽器一哥,另一方面逼迫網路應用的開發者轉向撰寫 iOS App 嗎?Ars Technica 似乎有不同的看法;根據他們家的測試與觀察,Nitro JavaScript 引擎是透過即時編譯(JIT compilation)的方式來將 JavaScript 程式碼轉換、優化,成為 ARM 處理器能夠辨識、執行的程式碼,其動態轉換的功能,也讓它的 JavaScript 執行速度比一些 JavaScript 引擎來得更快。

然而據說是因為安全性問題,才讓一些第三方軟體、網路應用無法透過 Nitro JavaScript 引擎取得即時編碼的能力;根據 GNOME 以及 Mono 資深開發者 Miguel de Icaza 的說法,蘋果一向就不會讓一般 iOS 開發者來撰寫、利用能夠即時編碼的程式碼內容,多年來 iOS 軟體開發者也從未被允許使用 JIT 編譯一類的功能;也因此採用 UIWebView 來開發軟體的朋友,恐怕短期間是無法讓在速度上追上 Safari。

也就是說,這整件事情目前看來是技術問題,而非蘋果蓄意打壓,因此也有些軟體開發者依舊保持樂觀,相信蘋果有天會將相關的安全性問題、疑慮給消除,讓軟體開發者也可以使用 Nitro JavaScript 引擎。