Abo
  • IT-Karriere:

Web-Frameworks: Wann benutzen React, Angular und Co. Webassembly?

Mittelfristig soll Webassembly so nützlich werden, dass auch die großen Javascript-Frameworks wie React, Angular und Vue den Nutzen erkennen und es einsetzen. Ein erster Ansatzpunkt für die Integration von WASM wäre es, rechenintensive Teile der Frameworks, zum Beispiel die DOM-Vergleichs-Algorithmen, in einer WASM-Sprache zu implementieren und dann die kompilierten Module in die Frameworks zu integrieren. In einer späteren Stufe wäre es sogar denkbar, dass auch Nutzer einzelne, hauptsächlich logikschwere Komponenten innerhalb der Frameworks in Form von Webassembly-Modulen integrieren könnten.

Stellenmarkt
  1. ITERGO Informationstechnologie GmbH, Hamburg
  2. Stromnetz Hamburg GmbH, Hamburg

Als Blocker für diese Entwicklung identifiziert Clark fehlende Features, die man von anderen High-Level-Sprachen gewohnt ist: Allen voran mangelt es der Sprache noch an einer Garbage Collection. Bisher müssen Entwickler Garbage Collection selbst in ihren WASM-Modulen implementieren. In Zukunft soll aber der browsereigene Garbage Collector auch den Webassembly-Speicher verwalten und dort aufräumen. Dieses Thema ist in der Umsetzung sehr aufwendig. Auch wenn viel daran gearbeitet wird, ist eine Fertigstellung im Jahr 2019 fraglich.

  • Lin Clark von Mozilla stellte auf der GitHub Universe Konferenz die Zukunftspläne für Webassembly vor. (Bild: Moritz Stückler)
  • Zu den wichtigsten Features für komplexe WASM-Anwendungen gehören Threads, SIMD und 64-bit-Support. (Bild: Lin Clark)
  • Vor allem die fehlende, browsereigene Garbage Collection ist momentan noch ein großes Hindernis für die Adoption von WASM. (Bild: Lin Clark)
  • Ein Überblick über die zukünftigen Features von Webassembly. (Bild: Lin Clark)
Vor allem die fehlende, browsereigene Garbage Collection ist momentan noch ein großes Hindernis für die Adoption von WASM. (Bild: Lin Clark)

Webassembly außerhalb des Browsers: Keine nativen Node-Module mehr?

Langfristig gesehen soll Webassembly auch aus dem Browser ausbrechen. Ein erstes Anwendungsgebiet wird dabei sicherlich Node.js sein. Die Javascript-Laufzeitumgebung basiert auf der V8-Engine des Chrome-Browsers und unterstützt deswegen auch heute schon Webassembly. Die neue Sprache könnte einen großen Nachteil von Node.js addressieren: Native Module. Denn in der Node.js-Welt werden häufig Module verwendet, die nicht in JavaScript sondern in C/C++ geschrieben sind.

Häufig handelt es sich dabei um große, komplexe Bibliotheken, die aus Geschwindigkeits- oder Portabilitäts-Gründen nicht in JavaScript geschrieben sind. Der C/C++-Code solcher Bibliotheken könnte in Zukunft einfach nach Webassembly portiert werden und Node.js könnte den Plattform-unabhängigen Bytecode direkt ausführen. Um für die Macher solcher Bibliotheken attraktiv zu werden, fehlt Webassembly allerdings noch eine sichere Möglichkeit, Zugriff auf Betriebssystem-Ressourcen (zum Beispiel Sockets und das Dateisystem) zu erhalten. Node.js müsste eine solche API nach Vorbild des POSIX-Interfaces bereitstellen.

Eigene Webassembly Runtime: Portable CLI-Tools

In sehr ferner Zukunft könnte Webassembly auch eine eigene, native Laufzeitumgebung bekommen. Erste Experimente und Ansätze dazu existieren bereits, zum Beispiel in Form von wasmtime oder wasmjit. Damit würde sich die Sprache endgültig aus dem Browser beziehungsweise der Javascript-Engine herauslösen. Damit könnten dann portable Kommandozeilen-Tools in Webassembly verfasst werden.

Bei all der Träumerei über die Potenziale machen die Leute hinter Webassembly immer wieder darauf aufmerksam, dass WASM Javascript nicht komplett ersetzen soll. Hinter den Kulissen heutiger Webanwendungen sollen aber immer mehr Bibliotheken ganz oder teilweise als Webassembly ausgeliefert werden, wenn es nach den Initiatoren geht. Mit allen geplanten Features könnte 2019 das Jahr werden, in dem Webassembly zum ersten Mal Einzug in einige produktive Anwendungen erhält. Eine massenhafte Verbreitung wird aber vermutlich noch etwas länger auf sich warten lassen.

  • Lin Clark von Mozilla stellte auf der GitHub Universe Konferenz die Zukunftspläne für Webassembly vor. (Bild: Moritz Stückler)
  • Zu den wichtigsten Features für komplexe WASM-Anwendungen gehören Threads, SIMD und 64-bit-Support. (Bild: Lin Clark)
  • Vor allem die fehlende, browsereigene Garbage Collection ist momentan noch ein großes Hindernis für die Adoption von WASM. (Bild: Lin Clark)
  • Ein Überblick über die zukünftigen Features von Webassembly. (Bild: Lin Clark)
Ein Überblick über die zukünftigen Features von Webassembly. (Bild: Lin Clark)
 Web-Bytecode: So sieht die Zukunft für Webassembly aus
  1.  
  2. 1
  3. 2


Anzeige
Hardware-Angebote
  1. 349,00€
  2. täglich neue Deals bei Alternate.de
  3. 127,99€ (Bestpreis!)

Gamma Ray Burst 14. Nov 2018

Lässt sich weiterführen zu Alle Computer sind unsicher und die Welt ist unsicher ... das...

Andreas.Kreuz 05. Nov 2018

Wer spricht denn hier von asm.js? Mir ging es um einen WASM polyfill, siehe hier...

gfa-g 04. Nov 2018

Und du keine Ahnung von Kulturunterschieden. Webanwendungen können lokal und unabhängig...

schnedan 04. Nov 2018

ein Linux im Browser fährt hoch, öffnet per Start Script ein Linux im Browser, das fährt...

lala1 02. Nov 2018

Ist mit wesentlich weniger Aufwand machbar ... wenn auch anstrengend.


Folgen Sie uns
       


LED-Projektor Viewsonic X10-4K - Test

Der Viewsonic X10-4K ist ein heller und farbtreuer 4K-Projektor - und kann einen Smart-TV ersetzen.

LED-Projektor Viewsonic X10-4K - Test Video aufrufen
Erasure Coding: Das Ende von Raid kommt durch Mathematik
Erasure Coding
Das Ende von Raid kommt durch Mathematik

In vielen Anwendungsszenarien sind Raid-Systeme mittlerweile nicht mehr die optimale Lösung. Zu langsam und starr sind sie. Abhilfe schaffen können mathematische Verfahren wie Erasure Coding. Noch existieren für beide Techniken Anwendungsgebiete. Am Ende wird Raid aber wohl verschwinden.
Eine Analyse von Oliver Nickel

  1. Agentur für Cybersicherheit Cyberwaffen-Entwicklung zieht in den Osten Deutschlands
  2. Yahoo Richterin lässt Vergleich zu Datenleck platzen

Forschung: Mehr Elektronen sollen Photovoltaik effizienter machen
Forschung
Mehr Elektronen sollen Photovoltaik effizienter machen

Zwei dünne Schichten auf einer Silizium-Solarzelle könnten ihre Effizienz erhöhen. Grünes und blaues Licht kann darin gleich zwei Elektronen statt nur eines freisetzen.
Von Frank Wunderlich-Pfeiffer

  1. ISS Tierbeobachtungssystem Icarus startet
  2. Sun To Liquid Solaranlage erzeugt Kerosin aus Sonnenlicht, Wasser und CO2
  3. Shell Ocean Discovery X Prize X-Prize für unbemannte Systeme zur Meereskartierung vergeben

Radeon RX 5700 (XT) im Test: AMDs günstige Navi-Karten sind auch super
Radeon RX 5700 (XT) im Test
AMDs günstige Navi-Karten sind auch super

Die Radeon RX 5700 (XT) liefern nach einer Preissenkung vor dem Launch eine gute Leistung ab: Wer auf Hardware-Raytracing verzichten kann, erhält zwei empfehlenswerte Navi-Grafikkarten. Bei der Energie-Effizienz hapert es aber trotz moderner 7-nm-Technik immer noch etwas.
Ein Test von Marc Sauter

  1. Navi 14 Radeon RX 5600 (XT) könnte 1.536 Shader haben
  2. Radeon RX 5700 (XT) AMD senkt Navi-Preise noch vor Launch
  3. AMD Freier Navi-Treiber in Mesa eingepflegt

    •  /