Home » iPhone & iPod » Der wahre (technische) Grund für langsame Web Apps

Der wahre (technische) Grund für langsame Web Apps

Das Update auf iOS 4.3 bringt neben der HotSpot-Funktion und den obligatorischen kleinen Verbesserungen auch ein großes Update für die mobile Version von Apples beliebtem Safari-Webbrowser mit. Durch die Optimierung soll JavaScript bis zu zweimal schneller ausgeführt werden als dieses bisher möglich war. Allerdings beschränken sich die Optimierungen nur auf die eigenständige Safari-App, nicht auf den integrierten Webbrowser, den Programmierer von iOS-Apps in ihre Apps einbauen können.

Wie die Apple-Sprecherin Trudy Muller gegenüber der englischen Zeitung „The Register“ verlauten ließ, „kann der in eine App integrierte Webbrowser nicht auf die Optimierungen zurückgreifen“. Apples Stellungnahme ist eine erste Reaktion auf eine Diskussion die am Anfang der Woche aufkam, als App Entwickler drastische Geschwindigkeitseinbußen bei der integrierten Web-Ansicht ihrer Apps feststellen musste.

Als das Unternehmen Blaze Software kurz darauf das Ergebnis eines Benchmark-Tests vorlegte, der angeblich beweisen sollte dass Webseiten auf Android-Geräten bis zu 52% schneller laden. Kurz darauf wurde dieser Test allerdings von Apple verurteilt, war der benutzte Browser auf dem iPhone 4 doch ein App-interner und nicht die alleinstehende Safari App.

Viele Entwickler äußerten ihr Unbehagen gegenüber Apples Schritt nur noch den eigenständigen Browser zu unterstützen, besonders da dadurch auch Web-Apps, die direkt vom Homescreen gestartet werden, mit deutlichen Geschwindigkeitseinbußen zu kämpfen haben. Nicht wenige Entwickler sehen in der Taktik Apples Willkür und absichtliches Ausbremsen von Web Apps, manche gingen sogar soweit das Vorgehen „slimy“ zu nennen, da Apple die Entwickler zwingt auf eigenständige Apps zu setzen und die Entwicklung von reinen Web-Apps aufzugeben.

Die waren Gründe für dieses Problem haben aber wohl weniger mit Taktik zu tun, als mit einer technischen Hürde, die sich leider nicht sehr einfach umgehen lässt. Die Nitro JavaScript-Engine, die in MobileSafari ihren Dienst verrichtet arbeitet mit einer Technik namens „just-in-time [JIT] compilation“, die wie der Name bereits vermuten lässt, JavaScript Code fast in Echtzeit in maschinenlesbaren Code umwandelt, der von der ARM-Prozessoren interpretiert wird. Aus Sicherheitsgründen können aber Apps gerade auf diese JIT-Technik nicht zugreifen, so dass nicht von den Geschwindigkeitsvorteilen profitiert werden kann.

Es steht allerdings zur Diskussion ob nicht in einer späteren Version von iOS, vielleicht ja schon mit iOS 5, das im April erscheinen soll, Entwicklern die Möglichkeit gegeben wird diese neue Technologie auch in ihren Apps verwenden zu können.

Keine News mehr verpassen! Unsere App für iOS und Android mit praktischer Push-Funktion.