UX Audit

Wir trainieren dein Team? Buch unsere Workshops, Trainings und Coachings.

Zeigt her!
Close

Web Assembly oder warum JavaScript nicht mehr aufzuhalten ist

22. Juni 2017, von stephan

“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.

Du willst mit jemanden über das Thema plaudern?

Einen kostenlosen Termin mit CEO Susanne vereinbaren!

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!
Technologie – Blogbeitrag

Generative AI: Eine Web-App in 50 Bahn-Kilometern

18. April 2024, von stephan

Es ist früher Donnerstagabend am Wiener Franz-Josefs-Bahnhof. Schwärme an Pendlern strömen in die Züge. Die Menschen wirken erschöpft und müde. Viele nutzen die Zeit im Zug um ein Buch zu lesen oder einfach nur aus dem Fenster zu schauen. Die Zugfahrt nach dem Büro ist für mich meistens die Zeit, offene Tasks abzuschließen, Tickets zu verschieben und zu kommentieren oder E-Mails zu beantworten. Doch heute soll das anders sein.

Jetzt lesen
Liechtenecker Leseliste #62 mit Susanne Liechtenecker
Inspiration – Podcasts

Folge #62 mit Susanne Liechtenecker

27. November 2020

In Folge 62 besinnt sich Susanne auf die Anfänge dieses Podcasts und begrüßt keinen Gast, sondern erzählt über das Buch "Jäger, Hirten, Kritiker" von Richard David Precht und warum es sie inspiriert hat.

Jetzt anhören
Close