Movatterモバイル変換


[0]ホーム

URL:


  1. WebAssembly

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

WebAssembly

WebAssembly – это новый открытый формат байт-кода, исполняемого современными браузерами. Он позволяет переносить код, написанный на таких языках как C, C++, C#, Rust, в низкоуровневые ассемблерные инструкции и использовать его в сети. Формат имеет компактные размеры, высокую производительность, близкую к нативной, и может одновременно работать с JavaScript.

В двух словах

WebAssembly оказывает огромное влияние на веб-платформу — он предоставляет способ исполнения кода, написанного на различных языках, в сети, со скоростью близкой к нативной, чего ранее невозможно было достичь.

WebAssembly разработан для дополнения JavaScript – используя WebAssembly JavaScript API вы можете загружать модули WebAssembly в приложения JavaScript и обеспечивать взаимодействие между ними, используя общие функции. Такой подход позволяет вам получить производительность и мощность WebAssembly, а также выразительность и гибкость JavaScript в ваших приложениях, даже если вы не знаете как писать код WebAssembly, а используете готовые модули.

И что ещё лучше, так это то, что WebAssembly разрабатывается как веб-стандартW3C WebAssembly Working Group иCommunity Group при активном участии основных производителей браузеров.

Руководства

Основы WebAssembly

Прежде всего, начните с чтения общего описания WebAssembly - что это такое, чем это может быть полезно, почему он подходит для веб-платформы и как его использовать.

Компиляция кода C/C++ в WebAssembly

После того как вы написали код на C / C ++, вы можете скомпилировать его в .wasm, например, с помощью инструментаEmscripten. Давайте посмотрим, как это работает.

Компиляция существующего кода C в WebAssembly

Главное, что позволяет WebAssembly, это использование огромного множества разнообразных и проверенных временем библиотек, написанных на языке C, в сети.

Компиляция Rust в WebAssembly

Если у вас есть уже написанный код на Rust, вы можете скомпилировать его в WebAssembly. Из этого руководства вы узнаете всё, что вам нужно знать, чтобы скомпилировать проект на Rust в wasm и использовать его в существующем веб-приложении.

Загрузка и запуск кода WebAssembly

После того, как у вас появился .wasm, эта статья расскажет, как из него получить, скомпилировать и создать экземпляр модуля, совмещаяWebAssembly JavaScript API cFetch илиXHR API.

Использование WebAssembly JavaScript API

После того, как вы загрузили модуль .wasm, вы захотите его использовать. В этой статье мы покажем вам, как использовать WebAssembly через WebAssembly JavaScript API.

Экспортируемые функции WebAssembly

Экспортируемые функции WebAssembly — это функции нативного модуля, доступные в JavaScript, которые позволяют вызывать код WebAssembly из JavaScript. В этой статье описывается, что они из себя представляют.

Описание текстового формата WebAssembly

Эта статья описывает текстовый формат WebAssembly. Это низкоуровневое текстовое представления модулей .wasm используемое в инструментах разработчика во время отладки.

Перевод из текстового формата WebAssembly в wasm

Эта статья содержит руководство по переводу модулей WebAssembly, написанных в текстовом формате, в двоичный файл .wasm.

Ссылки на API

WebAssembly

Этот объект является пространством имён для всех функций, связанных с WebAssembly.

WebAssembly.Module()

ОбъектWebAssembly.Module содержит не контролируемый WebAssembly код, который уже скомпилирован браузером и может эффективно использоваться совместно сWorkers и иметь несколько экземпляров.

WebAssembly.Instance()

ОбъектWebAssembly.Instance это контролируемый, исполняемый экземплярModule.Instance содержит всеэкспортированные функции WebAssembly, которые позволяют вызывать код WebAssembly из JavaScript.

WebAssembly.instantiateStreaming()

ФункцияWebAssembly.instantiateStreaming() является основной для компиляции и создания экземпляра кода WebAssembly, возвращающая одновременноModule иInstance.

WebAssembly.Memory()

WebAssembly.Memory это изменяемыйArrayBuffer содержащий в себе данные не имеющие типа к которым обращаетсяInstance.

WebAssembly.Table()

WebAssembly.Table объект является изменяемым типизированным массивом значений, таких как ссылки на функции, которые доступныInstance.

WebAssembly.CompileError()

Создаёт новый WebAssemblyCompileError объект.

WebAssembly.LinkError()

Создаёт новый WebAssemblyLinkError объект.

WebAssembly.RuntimeError()

Создаёт новый WebAssemblyRuntimeError объект.

Примеры

Спецификации

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①

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2026 Movatter.jp