Apple Confirms Mobile Safari Out-Performs Embedded Web Viewer

Earlier today, Blaze Software released the “largest ever research study of smart phone browser performance“, and concluded that Android phones were 52% faster browsing the web than iOS devices. The study included 45,000 individual tests across 1,000 different websites. Blaze determined that the Nitro JavaScript engine (which promises a 2x performance increase) introduced in iOS 4.3 does not improve actual browsing speed. What Blaze failed to take into account was the fact that their testing method, which utilized “UIWebView” (an in-app browser), does not utilize Nitro.

“They didn’t actually test the Safari web browser on the iPhone. Instead, they only tested their own proprietary app which uses an embedded web viewer.” – Apple spokeswoman

Apple, for reasons unknown, has chosen to disable Nitro in full-screen webapps launched via the home screen as well as in 3rd party apps which use UIWebView. This could be Apple’s way of enticing users to use native apps instead of webapp, or just a simple oversight. Either way, users will not get the “full” browsing experience unless they use Mobile Safari.

Breakdown from

  • Nitro is a JIT engine and requires that an executable using it be able to mark data memory pages as executable. Safari is a system app so it gets to do that (there’s a signed entitlement in the app that allows this).
  • Third-party apps using UIWebView (e.g. PhoneGap apps) do not get that capability so they do not get Nitro and I wouldn’t expect them to, since permitting marking data as executable makes app store review kind of pointless.
  • Web apps running from home screen but not in full-screen mode (which launch inside Safari) run Nitro fine.
  • Web apps running from home screen in full-screen mode launch inside, which is a system app and in theory should be able to run Nitro but it’s not because it lacks the entitlement.

[The Register]

Post a response / What do you think?