Movatterモバイル変換


[0]ホーム

URL:


  1. WebAssembly

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

WebAssembly

WebAssembly ist eine Art von Code, der in modernen Webbrowsern ausgeführt werden kann. Es handelt sich um eine low-level, assemblerähnliche Sprache mit einem kompakten Binärformat, das mit nahezu nativer Leistung ausgeführt wird und Sprachen wie C/C++, C# und Rust ein Kompilierungsziel bietet, damit sie im Web laufen können.

WebAssembly ist so konzipiert, dass es JavaScript ergänzt und daneben ausgeführt wird – mit den WebAssembly JavaScript-APIs können Sie WebAssembly-Module in eine JavaScript-Anwendung laden und Funktionen zwischen beiden teilen. Dies ermöglicht, die Leistung und Power von WebAssembly sowie die Ausdruckskraft und Flexibilität von JavaScript in derselben Anwendung zu nutzen, selbst wenn Sie nicht wissen, wie man WebAssembly-Code schreibt.

WebAssembly hat große Auswirkungen auf die Web-Plattform, nicht nur weil es ermöglicht, dass Code, der in mehreren Sprachen geschrieben wurde, mit annähernd nativer Geschwindigkeit im Web laufen kann, sondern auch weil es Clientanwendungen ermöglicht, im Web ausgeführt zu werden, die vorher nicht laufen konnten.

Und was noch besser ist, es wird als Webstandard von derW3C WebAssembly Working Group und derCommunity Group entwickelt, mit aktiver Teilnahme aller großen Browseranbieter.

Leitfäden

DieWebAssembly-Leitfäden behandeln Themen wie Konzepte auf hoher Ebene, das Kompilieren aus verschiedenen Sprachen, die textuelle Darstellung des Wasm-Binärformats und wie man WebAssembly ausführt.

WebAssembly-Konzepte

Fangen Sie an, indem Sie die Konzepte auf hoher Ebene hinter WebAssembly lesen – was es ist, warum es so nützlich ist, wie es in die Web-Plattform passt (und darüber hinaus) und wie man es verwendet.

Ein neues C/C++-Modul nach WebAssembly kompilieren

Wenn Sie Code in C/C++ geschrieben haben, können Sie ihn mit einem Tool wieEmscripten in Wasm kompilieren. Lassen Sie uns schauen, wie das funktioniert.

Ein vorhandenes C-Modul nach WebAssembly kompilieren

Ein zentraler Anwendungsfall für WebAssembly ist es, das bestehende Ökosystem von C-Bibliotheken zu nutzen und Entwicklern zu ermöglichen, diese im Web zu nutzen.

Kompilieren von Rust nach WebAssembly

Wenn Sie etwas Rust-Code geschrieben haben, können Sie ihn in WebAssembly kompilieren! Dieses Tutorial führt Sie durch alles, was Sie wissen müssen, um ein Rust-Projekt in Wasm zu kompilieren und in einer vorhandenen Webanwendung zu verwenden.

Laden und Ausführen von WebAssembly-Code

Nachdem Sie ein Wasm-Modul haben, behandelt dieser Artikel, wie man es abruft, kompiliert und instanziiert und dieWebAssembly JavaScript-API mit derFetch-oderXHR-API kombiniert.

Verwenden der WebAssembly JavaScript API

Sobald Sie ein Wasm-Modul geladen haben, möchten Sie es nutzen. In diesem Artikel zeigen wir Ihnen, wie Sie WebAssembly über die WebAssembly JavaScript API verwenden.

Exportierte WebAssembly-Funktionen

Exportierte WebAssembly-Funktionen sind die JavaScript-Reflexionen von WebAssembly-Funktionen, die es ermöglichen, WebAssembly-Code aus JavaScript aufzurufen. Dieser Artikel beschreibt, was sie sind.

Verstehen des WebAssembly-Textformats

Dieser Artikel erklärt das Wasm-Textformat. Dies ist die low-level, textuelle Darstellung eines Wasm-Moduls, die in den Entwickler-Tools des Browsers beim Debuggen angezeigt wird.

Konvertieren des WebAssembly-Textformats in Wasm

Dieser Artikel bietet einen Leitfaden, wie man ein in Textformat geschriebenes WebAssembly-Modul in ein Wasm-Binärformat konvertiert.

API-Referenz

WebAssembly-Instruktionsreferenz

Referenzdokumentation mit interaktiven Beispielen für die Menge der WebAssembly-Operatoren.

WebAssembly-JavaScript-Interface

Dieses Objekt fungiert als Namensraum für alle WebAssembly-bezogenen Funktionen.

WebAssembly.Global()

EinWebAssembly.Global-Objekt stellt eine globale Variableninstanz dar, die sowohl von JavaScript aus zugänglich als auch über eine oder mehrereWebAssembly.Module-Instanzen importierbar/exportierbar ist. Dies ermöglicht dynamisches Verlinken mehrerer Module.

WebAssembly.Module()

EinWebAssembly.Module-Objekt enthält zustandslosen WebAssembly-Code, der bereits vom Browser kompiliert wurde und effizientmit Workern geteilt und mehrfach instantiiert werden kann.

WebAssembly.Instance()

EinWebAssembly.Instance-Objekt ist eine zustandsbehaftete, ausführbare Instanz einesModule.Instance-Objekte enthalten alleexportierten WebAssembly-Funktionen, die es ermöglichen, aus JavaScript heraus in WebAssembly-Code zu gelangen.

WebAssembly.compile()

Die FunktionWebAssembly.compile() kompiliert WebAssembly-Binärcode in einWebAssembly.Module-Objekt.

WebAssembly.compileStreaming()

Die FunktionWebAssembly.compileStreaming() kompiliert einWebAssembly.Module direkt aus einer gestreamten zugrunde liegenden Quelle.

WebAssembly.instantiate()

Die FunktionWebAssembly.instantiate() ermöglicht es, WebAssembly-Code zu kompilieren und zu instanziieren.

WebAssembly.instantiateStreaming()

Die FunktionWebAssembly.instantiateStreaming() ist die primäre API zum Kompilieren und Instanziieren von WebAssembly-Code und gibt sowohl einModule als auch seine ersteInstance zurück.

WebAssembly.validate()

Die FunktionWebAssembly.validate() validiert ein gegebenes typisiertes Array von WebAssembly-Binärcode.

WebAssembly.Memory()

EinWebAssembly.Memory-Objekt ist ein anpassbarerArrayBuffer, der die rohen Bytes des Speichers enthält, die von einerInstance angesprochen werden.

WebAssembly.Table()

EinWebAssembly.Table-Objekt ist ein anpassbares typisiertes Array aus undurchsichtigen Werten, wie Funktionsreferenzen, die von einerInstance angesprochen werden.

WebAssembly.Tag()

DasWebAssembly.Tag-Objekt definiert einen Typ von WebAssembly-Ausnahme, die zu/von WebAssembly-Code geworfen werden kann.

WebAssembly.Exception()

DasWebAssembly.Exception-Objekt stellt eine zur Laufzeit von WebAssembly an JavaScript, oder von JavaScript zu einem WebAssembly-Ausnahme-Handler geworfene Ausnahme dar.

WebAssembly.CompileError()

Erstellt ein neues WebAssembly-CompileError-Objekt.

WebAssembly.LinkError()

Erstellt ein neues WebAssembly-LinkError-Objekt.

WebAssembly.RuntimeError()

Erstellt ein neues WebAssembly-RuntimeError-Objekt.

Beispielprojekte

Spezifikationen

Specification
WebAssembly JavaScript Interface
# webassembly-namespace
WebAssembly JavaScript Interface
# ref-for-syntax-numtype①⓪
WebAssembly JavaScript Interface
# dom-globaldescriptor-mutable
Unknown specification
Unknown specification
Unknown specification
Unknown specification
Unknown specification
Unknown specification
Unknown specification
Unknown specification
Unknown specification
Unknown specification
Unknown specification
WebAssembly Core: Garbage Collection
# garbage-collection①

Browser-Kompatibilität

webassembly.api

webassembly.BigInt-to-i64-integration

webassembly.bulk-memory-operations

webassembly.exception-handling

webassembly.extended-constant-expressions

webassembly.fixed-width-SIMD

webassembly.garbage-collection

webassembly.multiMemory

webassembly.multi-value

webassembly.mutable-globals

webassembly.non-trapping-float-to-int-conversions

webassembly.reference-types

webassembly.sign-extension-operations

webassembly.tail-calls

webassembly.threads-and-atomics

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp