Erwartet uns mit asm.js ein Paradigmenwechsel?
Kommentare

Jede beliebige Programmiersprache in JavaScript transpilieren zu können, ist ein Ausblick, der tektonische Verschiebungen in der Welt der Anwendungsentwicklung allgemein verursachen könnte. Dies malt

Jede beliebige Programmiersprache in JavaScript transpilieren zu können, ist ein Ausblick, der tektonische Verschiebungen in der Welt der Anwendungsentwicklung allgemein verursachen könnte. Dies malt sich zumindest Arne Wieding von der Online-Spieleschmiede Yoone in einem heiß debattierten Google-Plus-Beitrag aus.

Seitdem durch emscripten-qt auch das Problem der GUI-Entwicklung exemplarisch als lösbar gilt, könnten sich Mega-Anwendungen wie Photoshop im Browserfenster umsetzen lassen. Der Anwender müsste sich dank Cloud-Anbindung weder um die Sicherung seiner Daten noch um Software-Updates kümmern. Und über einen simplen Login ließe sich an jedem Rechner mit Internetzugang der letzte Bearbeitungsstand aufrufen und fortsetzen. Konzepte wie das ChromeOS ergeben auf einmal viel mehr Sinn, sagt der junge Entwickler.

Jüngste Entwicklungen wie Mozillas Implementierung des asm-optimierten OdinMonkey in die Nightly Builds des Firefox zeigen, dass Bemühungen in diese Richtung unternommen werden. Die Chromium-Gemeinde hält auch schon erste Absprachen, unter welchen Vorzeichen man asm.js implementieren solle. Das JavaScript-Subset scheint es also den entscheidenden Browser-Vendors angetan zu haben, verspricht es doch Leistungsgewinne, die JavaScript-Anwendungen auf das Niveau von C-Anwendungen heben. Und da asm in der Praxis vornehmlich als Zielsprache von Compilern zum Einsatz kommt, könnten Entwickler damit eine Möglichkeit gefunden haben, ihre favorisierte Programmiersprache in jedem Browser einsetzen zu können. Dank der oben erwähnten Lösung für Qt zeigt sich, dass man asm.js‘ Manko der DOM-Manipulation umschiffen kann, ohne selbst eine Zeile HTML schreiben zu müssen.

„Write once, run everywhere“ ist eigentlich der Anspruch von Java, aber alleine beim Deployment von Anwendungen könnten Browser die JVM um Längen schlagen. „daigoba66“ schreibt dazu in seinem Hacker-News-Kommentar:

Granted Java tried to create a VM that’s „build once, run everywhere“, and for the most part it succeeded and is still strong today. It can also be relatively straight forward to build and compile in C everywhere something small and simple as long as you use portable libraries. But in both cases the delivery and update mechanism is not as easy as: type facebook into your browser’s address bar and press enter.

Wieding hat abschließend die Frage gestellt, ob ein solcher Hack bestehende Webtechnologien obsolet machen könnte. Daher kam es zum Streit darüber, ob Browser sich (nur wegen asm.js) zu einer Art VM-Ebene mausern können. „PommeDeTerre“ spricht wie ein Coding-Veteran, der schon jetzt vorhersieht, dass die JavaScript-Plattform sich nicht mehr oder weniger durchsetzen wird als andere Webtechnologien, und dass viele vergeudete Jahre Arbeit auf die Entwickler warten.

Once again, like so many web technologies before it, this will cause waste for years to come. There will be a huge waste of time for users who sit there waiting for slow code to execute. There’ll be more wasted time and effort for developers stuck dealing with the messes that this will create.

It’s clear that a proper VM of some sort would be useful in today’s browsers. Trying to build this upon some awful subset of JavaScript is not the right way to do it.


IPC 2013 Spring Very Early Bird

Wer sich mit echten Profis aus der ganzen Welt über die Zukunft von JavaScript unterhalten will, der kann sich übrigens noch bis Donnerstag, den 04. April, Tickets für die International PHP Conference zum Vorzugspreis sichern. Mehr Informationen zu der Konferenz findet Ihr auf der IPC-Website.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -