Was ist WebAssembly?
Wieso WebAssembly das Erlebnis im Web revolutionieren könnte.
Das Internet ist einem ständigen Wandel unterworfen und damit verbunden ist auch die Entwicklung neuer Technologien. WebAssembly (Wasm) ist eine neu eingeführte Technologie, die sich zwar noch in der Entwicklung befindet, aber in Zukunft ganz andere Möglichkeiten für Webanwendungen schaffen soll.
Ähnlich wie bei JavaScript sollen Anwendungen im Webbrowser, aber auf dem Client-Computer laufen – allerdings so schnell wie native Anwendungen. Eine der wichtigsten Punkte des Projektes ist dabei die deutliche Verkürzung von Ladezeiten. Mit enormen Performance-Vorteilen soll eine Alternative zu JavaScript (JS)gebildet werden. Bereits erste große Browserentwickler unterstützen das Projekt mit der Implementierung.
Was ist WebAssembly?
Bei Webassembly handelt es sich im Prinzip um Binärcode, der sich für das Web kompilieren lässt. Bisher lässt sich damit C und C++ auf native Weise ausführen. Vereinfacht dargestellt ist Wasm ein virtueller Computer innerhalb des Computers, der darauf spezialisiert ist, Befehle optimiert auszuführen. Bei Wasm zielt die Optimierung primär auf die Ausführung und die Ladezeiten ab. Dies wird realisiert, indem Wasm bestimmte Befehle bereits selbst (ähnlich wie native Ausführung) umwandeln bzw. ausführen kann. Wasm kennt quasi bereits die Hardware, auf der es aktuell ausgeführt wird, wodurch die definierten Befehle selbst deutlich schneller verarbeitet werden können. In den ersten Tests konnte eine bis zu 23 Mal schnellere Ausführung im Vergleich zu JavaScript gemessen werden. Ergänzt mit zusätzlichen weiteren Features kann Webassembly von der Performance her sogar mit einer richtigen Hardware gleich gestellt werden, die beispielsweise multithreading-fähig ist.
Die wichtigsten Unterschiede zu JavaScript
Einer der wohl größten Unterschiede zu JS ist, dass JavaScript in Textform geschrieben ist und Wasm in Binärcode. Wasm geht sogar noch weiter und wird als eine extrem schlanke binäre Datei dargestellt. Dies alleine bringt Wasm schon große Vorteile im Hinblick auf die Ladezeiten und zusätzlich werden deutlich weniger Daten beim Aufruf einer Webseite übermittelt. Wasm ist auch flexibel im Hinblick auf die verwendete Sprache. Während bisher eine Kombination von HTML, CSS und JS notwendig war, um Webseiten darzustellen, ist mit Wasm JavaScript nur noch eine von vielen Sprachen, die ausführbar sind. Hinlänglich bekannt sind die zahlreichen Design-Problematiken, die mit JS einhergehen, durch die Möglichkeit nicht mehr an diese Sprache gebunden zu sein, können zukünftig problemlos bessere Alternativen vor allem im Hinblick auf die Repräsentation verwendet werden.
Einsatzbereiche für WebAssembly
Wasm wird zukünftig überall dort von Vorteil sein, wenn Seiten mit komplexen und mit hohen Ladezeiten verbunden Inhalten befüllt sind. Dies ist derzeit überwiegend bei Spielseiten der Fall. Reine JS-Spiele sind nach wie vor mit längeren Ladezeiten verbunden und reagieren auch sensibel auf schlechtere Internetverbindungen und sind vor allem auf schwächerer Hardware durch einen großen Overhead vergleichsweise wenig performant. Webassembly hingegen kann grafikintensive Seiten deutlich schneller laden, was auch erste experimentelle Spiele, wie das Wasm-Demospiel “Funny Karts”, gezeigt haben. Entsprechend groß ist auch das Interesse namhafter Spieleentwickler wie Unreal oder Unity, denen diese Technologie erlauben würde mithilfe von Wasm, ohne zusätzlich Installation oder Plug-ins im Browser auszuführen.
Derzeit wird Webassembly daher besonders im Gamimg-Bereich getestet, da die Anforderungen hier sehr hoch sind. Wenn grafisch aufwändige Spiele gut laufen, sind andere Anwendungen, die weniger Anforderungen an die Hardware stellen, problemlos zu realisieren.
Zukunftsperspektiven für Webassembly
Wasm wird zukünftig vor allem dort interessant werden, wo viel mit Grafiken oder anderen Features, die eine hohe Rechenleistung erfordern, gearbeitet wird. Dies eröffnet auch dem Bereich Virtual Reality über das Web völlig neue Möglichkeiten. Besonders attraktiv ist Webassembly im mobilen Bereich geworden, da es nicht nur selbst wenig Platz benötigt, sondern aufgrund der kürzeren Ladezeiten hier ebenfalls Vorteile bringen könnte. Auf den Zug von Wasm sind bisher schon die Browserentwickler Mozilla, Apple, Google und Microsoft aufgesprungen. Damit ist Wasm bereits für einen großen Teil der verwendeten Browser verfügbar bzw. in der Entwicklung. Mithilfe von Webassembly ist es möglich einen einheitlichen Bytecode für das Web bereitzustellen und könnte damit neue Standards schaffen. Ob es JavaScript ersetzen kann oder soll, bleibt indes fraglich. Das ist jedoch auch nicht das primäre Ziel von Wasm. Für Wasm sind bereits einige Weiterentwicklungen geplant sowie auch die Implementierung von neuen Features. Damit blick Webassembly durchaus auf eine positive Zukunft, denn Potenzial hat die Technologie in jedem Fall, denn jetzt gibt es schon viele Einsatzmöglichkeiten.
Spannend:
Rückmeldungen