Menü
Developer

Metro-Apps mit gleicher HTML5-Performance wie im Browser

vorlesen Drucken Kommentare lesen 2 Beiträge

Metro-Apps sollen künftig ebenso performant sein wie reine Webanwendungen im Internet Explorer 10. Das geht aus einem Beitrag von Microsofts Senior Program Manager für den Internet Explorer, Andy Zeigler, hervor. Anders als unter Apples iOS oder Amazons Kindle-System werde JavaScript unter Windows 8 grundsätzlich von einem JIT-Compiler (just-in-time) berechnet, womit Metro-Anwendungen von einer maximal möglichen Leistung der Plattform profitieren würden.

Das es keinen Unterschied macht, ob Webanwendungen direkt im Browser oder (in diesem Fall per iframe oder einer WebView) in einer nativen App eingebettet laufen, ist nicht selbstverständlich. Das gängige Sicherheitskonzept sieht vor, dass externer Code nicht ohne weiteres ausgeführt werden soll – Nutzereingaben könnten bei unsicherer Implementierung einer Abfrage zu Code-Injection-Schwachstellen führen. Auf Seiten Apples iOS führte das Sicherheitskonzept dazu, dass das unsigniertes JavaScript aus reinen Web-Apps vor iOS 5 schlicht nicht vom JIT-Compiler der JavaScript-Engine kompiliert wurde. Mit iOS 5 hat Apple das Konzept insofern gelockert, dass zumindest Web-Apps unter Safari den Compiler der JavaScript-Engine nutzen konnten – die WebKit-View in nativen Anwendungen ist hiervon jedoch ausgenommen.

Testergebnisse aus dem SunSpider-Benchmark. iOS 5.0.1 auf einem iPad1, Kindle Fire und Windows 8 Developer Preview 64-Bit auf einem Dell Optiplex 745

(Bild: IEBlog)

Ob und wie Microsoft Anwendungen vor möglichen Code-Injection-Angriffen schützen will, darauf geht Andy Zeigler in seinem Beitrag nicht ein. Microsoft macht auch keine Aussagen darüber, welches Betriebssystem Anwendungen (ob nun als reine Webanwendung oder eingebettet in native Apps) schneller ausführt. Man stellt lediglich heraus, dass die Unterschiede zwischen den beiden Umsetzungsmöglichkeiten unter Windows 8 am geringsten sind.

Entwickler, die ihre Anwendungen in einem nativen Container einbetten wollen, können das per iframe oder einem WebView-Controller tun. Speziell unter Windows 8 werden Webinhalte dabei auch in der 64-Bit-Version des IE10 vom JIT-Compiler verarbeitet (unter dem IE9 wurde nur mit der 32-Bit-Version JIT-kompiliert, in der 64-Bit-Variante wurde der Code nur interpretiert). (rl)