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

Erwerben Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster