[Public] Why mobile web apps are slow & Food For Thought

Constantin Berhard constantin at exxxtremesys.lu
Do Aug 29 15:42:41 CEST 2013


On 08/28/2013 10:46 PM, Thomas Darimont wrote:
> Eine reine HTML5/CSS3/JS basierte (mobile Web-) App kann aufgrund der
> (derzeit noch) zu geringen Leistungsfähigkeit von Smartphones 
> und mobilen Browsern / JS-Engines nicht an die Leistungsfähigkeit
> einer nativen App herankommen.
>
> Mehr dazu findet man in dem sehr lesenswerten Artikel:  "Why mobile
> web apps are slow"
> http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
Hi,

ASM.js wird nur kurz angesprochen, verdient aber mehr Aufmerksamkeit.
ASM.js kann manuelles memory management. ASM.js Code kann man erzeugen,
indem man C++ Code (oder sonstigen Code, für den LLVM ein Frontend hat)
schreibt und ihn mit Emscripten übersetzt. ASM.js ist auch kompatibel zu
System, die die Optimierung nicht unterstützen. ASM.js liefert
Performance, die sogar die von "nativem" Dalvik-Code auf Android
übertreffen kann.
https://blog.mozilla.org/javascript/2013/08/01/staring-at-the-sun-dalvik-vs-spidermonkey/

Meine Quintessenz aus dem ganzen wäre die folgende Strategie: Schreibe
Anwendungen in direkt ASM.js oder benutze Emscripten, um C++ nach asm.js
zu kompilieren. Das Qt-Framework ist bereits nach ASM.js portiert. So
müssten native Sailfish OS-Anwendungen sich direkt nach ASM.js
kompilieren lassen. => fast alle (alle außer Apple; also Android,
Firefox OS, Sailfish OS) Platformen abgedeckt mit nativer
APP-Performance oder besser (ASM.js >= Dalvik).

Bei Apple sieht die Lage ziemlich dumm aus: Apple verbietet in seinem
Store Anwendungen, die Alternativen zur Safari-Engine bereitstellen (wie
Firefox) und die Safari-Engine ist nicht auf ASM.js optimiert. Daher
würde dort wahrscheinlich die Performance leiden. Andererseits ist wer
sich durch den Kauf eines Appleprodukts so in seiner Softwareauswahl
einschränken lässt selbst schuld.
http://venturebeat.com/2013/04/15/mozilla-ceo-we-refuse-to-bring-firefox-to-ios-until-apple-lets-us-use-our-web-engine/

Trotzdem sind die Apps dann auf Apple und Blackberry immerhin überhaupt
lauffähig, wenn auch langsam. Das ist imho eine verdammt starke Leistung
für code once, run anywhere.

Viele Grüße,
Constantin


More information about the Public mailing list