Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Apple's app store doesn't allow apps that execute downloaded JavaScript without using the system WebKit library.


And it doesn't run the JIT compiler. Which means all 3rd party browsers in non-jailbroken iOS are slower than Safari and Phonegap apps are a lot slower than native apps.


I had heard about the JS runtime restriction (which is why I was interested if Opera had avoided it somehow), but never heard about the JIT restriction. Is the JIT disabled for all third party apps?

I was going to make a joke about Soviet app stores, but realized this isn't the place.


The JIT restriction is because the OS won't let you mark data pages as executable for security reasons (Safari, as a trusted app, is the only exception).

EDIT: changed wording for clarity


Thanks for clarifying. I learned something new today.


Just noting that a "Nitrous", available on Cydia for jailbroken iPads, enables Nitro (JIT compiler for Safari) on all browsers.


It means javascript execution is slower in 3rd-party browsers. They can make up for that by e.g. using better networking libraries: http://www.guypo.com/mobile/ios-browsers-speed-bakeoff/


That still means it's a very asymmetric competition: by default, Apple has a significant head start because of the JIT.

If others have to do some crazy engineering on networking libraries, nothing stops Apple from reusing the concepts the competition implements.

The competition does not have this possibility with javascript engine improvements.


No argument here. Just saying that performance is about more than js performance.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: