W3C hat WebAssembly den Status eines empfohlenen Standards verliehen.

W3C-Konsortium hat zum Erlass des empfohlenen Standards für die WebAssembly-Technologie. WebAssembly liefert eine plattformunabhängige, universelle halbierte Codierung für die Ausführung von Anwendungen, die aus verschiedenen Programmiersprachen kompiliert wurden. WebAssembly wird als eine zukunftsträchtigere und zwischen Browsern transportierbare Technologie für die Entwicklung leistungsstarker Webanwendungen positioniert. WebAssembly kann für Aufgaben eingesetzt werden, die hohe Leistungsanforderungen haben, beispielsweise für Videokodierung, Audioverarbeitung, Grafik- und 3D-Manipulation, Spieleentwicklung, kryptografische Operationen, mathematische Berechnungen und die Erstellung portierbarer Implementierungen von Programmiersprachen.

WebAssembly ähnelt in vielerlei Hinsicht Asm.js, unterscheidet sich jedoch dadurch, dass es ein binäres Format ist, das nicht an JavaScript gebunden ist. In WebAssembly ist kein Garbage Collector erforderlich, da eine explizite Speicherverwaltung verwendet wird. Durch den Einsatz von JIT kann WebAssembly eine Leistung erreichen, die nahe an der von nativen Codes liegt. Zu den Hauptzielen von WebAssembly gehören die Gewährleistung von Portabilität, Vorhersehbarkeit des Verhaltens und die Identität der Codeausführung auf verschiedenen Plattformen. In letzter Zeit wird WebAssembly zudem vorangetrieben als universelle Plattform für die sichere Ausführung von Code in jeglichen Infrastrukturen, Betriebssystemen und Geräten, ohne auf Browser beschränkt zu sein.

Das W3C hat drei Spezifikationen standardisiert, die mit WebAssembly verbunden sind:

  • WebAssembly Core – beschreibt eine Low-Level-virtuelle Maschine zur Ausführung von Zwischencode in WebAssembly. Die mit WebAssembly verbundenen Ressourcen werden im Format „.wasm“ bereitgestellt, das einer „.class“-Datei in Java ähnelt und statische Daten sowie Code-Segmente zur Verarbeitung dieser Daten enthält.
  • WebAssembly Web API — definiert eine Programmierschnittstelle auf der Grundlage des Promise-Mechanismus für die Anforderung und Ausführung von „.wasm“-Ressourcen. Das Format der WebAssembly-Ressourcen ist optimiert, sodass die Ausführung beginnen kann, ohne auf das vollständige Laden der Datei zu warten, was die Reaktionsfähigkeit von Webanwendungen erhöht.
  • WebAssembly JavaScript-Schnittstelle — bietet eine API zur Integration mit JavaScript. Ermöglicht das Abrufen von Werten und das Übergeben von Parametern an WebAssembly-Funktionen. Die Ausführung von WebAssembly entspricht dem Sicherheitsmodell von JavaScript, und alle Interaktionen mit dem Hauptsystem erfolgen analog zur Ausführung von JavaScript-Code.

In Zukunft sind Spezifikationen für solche WebAssembly-Möglichkeiten geplant wie:

  • Multithreading mit gemeinsamem Speicher und atomarem Zugriff auf den Speicher;
  • Vektoroperationen auf Basis von SIMD, die eine Parallelisierung der Schleifenausführung ermöglichen;
  • Referenztypen für direkte Verweise auf Objekte aus WebAssembly-Code;
  • Die Möglichkeit, Funktionen ohne zusätzlichen Platzverbrauch im Stack aufzurufen;
  • Integration mit ECMAScript-Modulen — die Möglichkeit, WebAssembly-Code aus JavaScript als Module zu laden, die der Spezifikation von ECMAScript 6 entsprechen;
  • Betriebsmodus mit Garbage Collector;
  • Debug-Schnittstellen;
  • WASI (WebAssembly-Systemschnittstelle) — API zur direkten Interaktion mit dem Betriebssystem (POSIX-API für den Umgang mit Dateien, Sockets usw.).

    Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster