Als neues Küken bei den Liechteneckers wird mir in dieser Woche die Ehre zu Teil, meinen ersten Blog-Beitrag zu verfassen. Passend dazu möchte ich diese Gelegenheit nutzen ein weiteres Küken vorzustellen, das jüngst in der Web Development Community geschlüpft ist – WebAssembly.
Vor nicht ganz zwei Wochen haben die Entwickler der bekannten Browserengines von Mozilla, Google, Microsoft, Apple und weitere Personen unter dem gemeinsamen Namen W3C WebAssembly Community Group bekanntgegeben, dass sie zusammen an einem neuen Standard für das Web arbeiten – einem einheitlichen Binärformat für Browser, das für kurze Ladezeiten und geringe Speichergröße optimiert ist, genannt WebAssembly (WASM).
Ein Binärformat für alle
WASM soll es Entwicklern ermöglichen Ihre Programme in das binäre „.wasm“ Format zu kompilieren und innerhalb einer JavaScript Engine ausführen zu lassen, die von allen Browsern verstanden wird. Zu Beginn steht der Fokus auf C und C++, sobald der Standard sich weiter entwickelt hat, sollen auch weitere Sprachen folgen.
Die Idee, Programme in anderen Sprachen in Javascript zu wandeln, ist nicht neu. Mozilla hat mit „asm.js“ dazu bereits eine Möglichkeit geschaffen. Allerdings gibt es seitens der Entwickler einige Verbesserungswünsche, wie beispielsweise eine noch deutlicher gesteigerte Performance, die Unterstützung von Threads, Locks oder SIMD (Single Instruction, Multiple Data). WASM soll all das und vieles mehr ermöglichen.
Für das Binärformat hat man sich deshalb entschieden, weil sich dieses besser komprimieren lässt als Javascript Text und weil das Format von den Browser-Engines erheblich schneller dekodiert werden kann als Programme, welche mit asm.js übersetzt wurden. Ist es doch eines der Hauptziele von WASM, Performance-Leistungen für Web-Apps zu erreichen, wie wir sie von Native-Apps gewohnt sind. Trotz des Binärformats lässt sich der von WASM generierte Quellcode in ein lesbares Textformat umwandeln. Entwickler haben so die Möglichkeit auch selbst WASM Module zu schreiben und zu debuggen.
WebAssembly – Ein mögliches Ende für JavaScript?
Seit der Bekanntgabe der Entwicklung von WASM kursieren die Meldungen, dass der zukünftige Standard auf lange Sicht womöglich das Ende von JavaScript sein werde bzw. es das Ziel sei, JavaScript durch WASM gänzlich zu ersetzen. Die Truppe hinter dem Standard stellt jedoch auf der zugehörigen Seite auf Github klar, dass WASM JavaScript ergänzen und nicht verdrängen soll. Überall dort, wo es mit JavaScript zu komplex wird bzw. die dynamische Programmiersprache an ihre Grenzen stößt, soll WASM als „Booster“ dienen. Als mögliche Anwendungsszenarien werden beispielsweise CAD-Applikationen, Programme zur Video- und Bildbearbeitung, P2P-Apps sowie Anwendungen im Bereich Virtual und Augmented Reality genannt.
Aktuell befindet sich das Projekt in seinen Startlöchern und bis zu seiner Reife wird es noch eine Weile dauern. Wer die Entwicklung von WebAssembly aber jetzt schon mitverfolgen oder mehr über das Projekt erfahren möchte, findet hierzu auf GitHub noch tiefergehende Informationen.
Du willst mit jemanden über das Thema plaudern?
Einen kostenlosen Termin mit CEO Susanne vereinbaren!AI-Driven UX - Möglichkeiten, Design-Prinzipien und Pflichten für UX-Designer - 2024 Update
UPDATE 2024: Ausgegraben aus 2019 dieses schmucke Fundstück über AI und UX. Irgendwie drehen sich die Trend-Themen doch alle Jahre im Kreis und man könnte glauben man findet sich diesbezüglich als Bill Murray in "Täglich grüßt das Murmeltier [...]
Jetzt lesenFolge #62 mit Susanne Liechtenecker
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