iOS 4.3 Web performance differences a security matter

18.03.2011

In order to be able to execute the code it generates, Nitro needs to flip the memory in which the former is contained to usage. On iOS, however, this requires special privileges that are normally denied to third-party apps for the simple reason that allowing their usage would negate the very basis upon which the operating system is predicated—it’d be a little bit like locking a prisoner away with the key to the cell If the possibility of arbitrarily marking an area of memory as executable were open to any app, nothing would prevent a developer from downloading any code from the Internet and executing it, unbeknownst to either Apple or the end user.

The reason why Safari is faster than Web views on third-party apps, therefore, is simply the fact that Apple trusts its own code not to violate any of the security tenets of iOS and so it is allowed an exception to the normal security policies. Nitro can execute the code it compiles, and that makes Web apps in the browser perform better.

What about Web apps that are added to the home screen? Well, it turns out that those apps actually run inside Safari. Rather, they are executed inside yet another app, called Web Obviously, this app has not been allowed to execute dynamic code, although the reason why this would be the case is not clear at this point.