Das W3C verleiht WebAssembly den Status „Empfohlener Standard“.

W3C-Konsortium объявил daran, der WebAssembly-Technologie den Status eines empfohlenen Standards zu verleihen. WebAssembly bietet browserunabhängigen, universellen Low-Level-Zwischencode zum Ausführen von Anwendungen, die aus verschiedenen Programmiersprachen kompiliert wurden. WebAssembly gilt als vielversprechendere und browserübergreifend tragbare Technologie zur Erstellung leistungsstarker Webanwendungen. WebAssembly kann für leistungsintensive Aufgaben wie Videokodierung, Audioverarbeitung, Grafik- und 3D-Manipulation, Spieleentwicklung, kryptografische Operationen, mathematische Berechnungen und die Erstellung portabler Implementierungen von Programmiersprachen verwendet werden.

WebAssembly ähnelt in vielerlei Hinsicht Asm.js, unterscheidet sich jedoch dadurch, dass es ein Binärformat ist, das nicht an JavaScript gebunden ist. WebAssembly erfordert keinen Garbage Collector, da es eine explizite Speicherverwaltung verwendet. Durch die Verwendung von JIT für WebAssembly können Sie Leistungsniveaus erreichen, die denen von nativem Code nahe kommen. Zu den Hauptzielen von WebAssembly gehört die Gewährleistung von Portabilität, vorhersehbarem Verhalten und identischer Codeausführung auf verschiedenen Plattformen. In letzter Zeit hat auch WebAssembly vorrücken als universelle Plattform für die sichere Codeausführung auf jeder Infrastruktur, jedem Betriebssystem und jedem Gerät, nicht nur auf Browser beschränkt.

Das W3C hat drei Spezifikationen im Zusammenhang mit WebAssembly standardisiert:

  • WebAssembly-Kern – beschreibt eine virtuelle Maschine auf niedriger Ebene zum Ausführen von WebAssembly-Zwischencode. WebAssembly-bezogene Ressourcen liegen im „.wasm“-Format vor, ähnlich einer Java-„.class“-Datei, und enthalten statische Daten und Codesegmente für die Arbeit mit diesen Daten.
  • WebAssembly-Web-API – definiert eine Programmierschnittstelle basierend auf dem Promise-Mechanismus zum Anfordern und Ausführen von „.wasm“-Ressourcen. Das WebAssembly-Ressourcenformat ist so optimiert, dass es mit der Ausführung beginnen kann, ohne auf das vollständige Laden der Datei warten zu müssen, was die Reaktionsfähigkeit von Webanwendungen verbessert.
  • WebAssembly-JavaScript-Schnittstelle – Bietet eine API für die Integration mit JavaScript. Ermöglicht das Abrufen von Werten und das Übergeben von Parametern an WebAssembly-Funktionen. Die Ausführung von WebAssembly folgt dem JavaScript-Sicherheitsmodell und die gesamte Interaktion mit dem Hauptsystem erfolgt auf die gleiche Weise wie die Ausführung von JavaScript-Code.

In der Zukunft planen wir, Spezifikationen für solche WebAssembly-Funktionen vorzubereiten wie:

  • Multithreading mit Shared Memory und atomarem Speicherzugriff;
  • Auf SIMD basierende Vektoroperationen, die eine Parallelisierung der Schleifenausführung ermöglichen;
  • Referenztypen zum direkten Referenzieren von Objekten aus WebAssembly-Code;
  • Möglichkeit, Funktionen aufzurufen, ohne zusätzlichen Platz auf dem Stapel zu beanspruchen;
  • Integration mit ECMAScript-Modulen – die Möglichkeit, WebAssembly-Code aus JavaScript als Module zu laden, die der ECMAScript 6-Spezifikation entsprechen;
  • Garbage-Collector-Modus;
  • Debugging-Schnittstellen;
  • WAR ICH (WebAssembly System Interface) – API für die direkte Interaktion mit dem Betriebssystem (POSIX-API für die Arbeit mit Dateien, Sockets usw.).

    Source: opennet.ru

Kommentar hinzufügen