Één van de belangrijke verbeteringen in iOS 4.3
is de nieuwe Javascript “Nitro” engine waardoor Javascript tot twee
keer sneller wordt uitgevoerd (en websites dus sneller laden/werken).
Deze nieuwe engine blijkt echter alleen gebruikt te worden in Safari.
Web applicaties op het home scherm en applicaties van derden uit de
App Store die gebruik maken van de ingebouwde web engine (WebKit)
gebruiken nog steeds de oude Javascript engine. Ze zijn dus niet trager
geworden in vergelijking met iOS 4.2, maar zijn wel trager dan Safari
onder iOS 4.3.
Apple heeft bevestigd dat alleen Safari gebruik maakt van de Nitro
Javascript engine, maar heeft geen verklaring gegeven waarom dat zo is.
Op Daring Fireball is een bericht verschenen met een plausibele verklaring voor het niet gebruiken van de nieuwe engine buiten Safari.
De Nitro engine doet namelijk een JIT — “Just-In-Time” compilatie van
de Javascript code. Dit betekent dat een deel van het RAM geheugen
aangemerkt moet kunnen worden als uitvoerbaar. iOS laat echter niet toe
dit te doen vanwege veiligheidsredenen. Een systeem waarbij het
toegelaten is een willekeurig deel van het geheugen als uitvoerbaar aan
te duiden, is een stuk minder veilig. Apple blijkt met iOS 4.3 echter
genoeg vertrouwen te hebben in Safari om dit toe te laten (maar het
wordt dus alleen toegelaten bij Safari en geen enkele andere
applicatie). Het gevolg is dat Javascript een stuk sneller is onder
Safari, maar een eventueel veiligheidslek in Safari mogelijk grotere
gevolgen kan hebben.
Apple zou alle applicaties met een web view de Nitro engine kunnen
laten gebruiken zonder het systeem veel onveiliger te maken door
Javascript in een apart proces te draaien; het is niet duidelijk of
Apple dit ook van plan is.
bron: http://www.applenieuws.com