Web Assembly oder warum JavaScript nicht mehr aufzuhalten ist

22. Juni 2017, von lieAdmin2019

“Ich bin Programmierer” – dieser Satz wird mir meistens bis zu dem Punkt geglaubt, an dem ich erkläre, dass ich vor allem mit JavaScript entwickle. Ja, JavaScript ist in keinster Weise mit C++ oder Java zu vergleichen und ja, JavaScript ist, wie der Name schon vermuten lässt, eine Skriptsprache. Dennoch muss man spätestens seit Node.js und TypeScript eingestehen, dass JavaScript auch für ‘professionelle’ Einsatzbereiche zur Anwendung kommt. Egal ob bestehende Business-Apps für den (internen) Online-Einsatz neu entwickelt werden und Desktop-Apps mittels (dem zugegeben umstrittenen) Electron als Desktop-App veröffentlicht werden – JavaScript ist auch aus der Business-Welt nicht mehr wegzudenken. Den nächsten Angriff auf alteingesessene Paradigmen liefert jetzt wasm – WebAssembly.

Was ist WebAssembly?

WebAssembly klingt zunächst nach nicht viel:

Web Assembly ist ein neues portables, größen- und ladezeitoptimiertes Format, dass für das Web kompiliert werden kann.

Besser ausgedrückt: WebAssembly ist die Möglichkeit, nativen C und C++ (und mittlerweile auch z.B. Rust) Code in ein sehr stark größen- (und damit ladezeit-) optimiertes Format zu kompilieren, das CrossBrowser und CrossPlatform ausgeführt werden kann. Der Einsatz ist dabei bei den großen Browsern momentan noch auf Chrome, Firefox und ab Herbst auch Safari beschränkt.

Das bringt, vergleicht man es mit JavaScript, enorme Performancesteigerungen und ist deshalb vor allem für komplexe Anwendungsfälle, z.b. Berechnungen wie sie bei Spielen oder VirtualReality-Anwendungen vorkommen, von Vorteil. Außerdem deckt WebAssembly wichtige Funktionen wie Threading ab, die mit JavaScript nicht oder nur sehr schwer umsetzbar sind.

Was nach wenig klingt, wird in den nächsten Jahren massive Auswirkungen auf die Web- und Applikationslandschaft haben.

Web Assembly für Spiele, Virtual Reality und grafikintensive Anwendungen

Natürlich bietet Web Assembly beim ersten Blick die größten Vorteile für grafikintensive Anwendungen wie Spiele und Virtual Reality. Einen Einblick, wie groß die Vorteile gegenüber reinen JavaScript-Spielen sind, gibt z.b. die WASM-Spiele-Demo “Funny Karts” von Ross Smith (die Notizen, die während der Erstellung entstanden sind, gibt es hier).

WebAssembly Demo Funky Karts

Ebenfalls an Board sind namhafte Spiele-Engines wie Unity oder Unreal Engine, die es erlauben, Spiele über WebGL und Web Assembly im Browser auszuführen. Das passiert ganz ohne Plugins, eine mühsame Installation im Vorfeld fällt damit weg.

Neben den klassischen Spielen hat das natürlich auch massive Auswirkungen auf neuere Anwendungen wie Virtual Reality –Web Assembly glänzt überall dort, wo rechen- und grafikintensive Anwendungsbereiche gefordert sind.

Web Assembly ist mehr

Web Assembly ist auch als Versprechen zu sehen – und als Paradigmenwechsel. Als Node populär wurde, war es plötzlich nicht mehr abwegig, neben Frontend auch Backendapplikationen mit JavaScript zu entwickeln. WASM schlägt in die selbe Kerbe: Auch wenn Web Assembly kein JavaScript ist, fungiert JavaScript als Bindeglied. Somit wird es in Zukunft noch einfacher sein, große, komplexe, rechenintenisve Anwendungen zu einem großen Teil im Browser auszuführen und mit JavaScript und nativen Programmiersprachen zu entwickeln.

Als (zumindest aber für die nähere Zukunft noch theoretische) Möglichkeit, wird hier oft angeführt, dass z.b. Adobe in Zukunft Applikationen wie Photoshop oder Illustrator neben Versionen für MacOs & Windows auch fürs Web kompilieren könnte, um dem Benutzer das gewohnte Interface, die Möglichkeiten und die Performance einer Desktop-App im Browser zu bieten. Und auch wenn davor noch viele damit einhergehende Problemstellungen gelöst werden müssen, zeigt es die generelle Richtung an, die Web Assembly ermöglicht.

Die Zukunft ist die Webplattform

Web Assembly ist sicher nicht der letzte Schritt in  Richtung der Professionalisierung der Webplattform. Wo interne Apps früher mit ‚klassischen‘ Programmiersprachen entwickelt wurden, wird in Zukunft mit Sicherheit vermehrt auf browserbasierte Lösungen gesetzt. Das hat gegenüber klassischer Entwicklungsformen viele Vorteile – der Größte ist aber sicherlich die damit einhergehende Unterstützung von verschiedensten Plattformen und Geräten.
Und auch wenn diese Apps auch in Zukunft ‚klassisch‘ entwickelte Programme in keinster Weiße gefährlich werden oder verdrängen können, wird sich das Bild des Programmierers in Zukunft sicher stark wandeln.

Stephan

Meine Rolle bei Liechtenecker: langgedienter Frontend-Veteran Wenn es weder IT noch Digitalisierung gäbe, wäre mein Beruf: Förster ohne Kontakt zu Menschen! Mein Herz schlägt für: die Arterien.
Keine Kommentare vorhanden.
Kommentar verfassen
Name
Mail
Web
Captcha
Erfolgreich!
Fehler!
Natalia und Marion reden über Usertests
UX/UI Design – Blogbeitrag

9 Fragen zum User Test – was Sie als Auftraggeber wissen sollten

18. September 2019, von Natalia

Euch steht ein User Test bevor? Die Agentur schreibt irgendwas von einem Usability Testing ins Angebot? Und ihr fragt euch jetzt, was das alles bedeutet? Dann lest hier die häufigsten Fragen und Antworten zum Thema User Testing.

Jetzt lesen
Susanne Liechtenecker und Christiane Bertolini
Inspiration – Podcasts

Folge #52 mit Christiane Bertolini

27. September 2019

Christiane Bertolini ist Betriebswirtschafterin und seit der Jahrtausendwende unternehmerisch tätig. Als Entwicklerin, Inkubatorin, hands-on Trendexpertin und Sparringspartner agiert sie cross industries, immer mit einem speziellen Twist.

Jetzt anhören
Close