aboutsummaryrefslogtreecommitdiff
path: root/files/ru/webassembly/index.html
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:42:52 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:42:52 -0500
commit074785cea106179cb3305637055ab0a009ca74f2 (patch)
treee6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/ru/webassembly/index.html
parentda78a9e329e272dedb2400b79a3bdeebff387d47 (diff)
downloadtranslated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz
translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2
translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip
initial commit
Diffstat (limited to 'files/ru/webassembly/index.html')
-rw-r--r--files/ru/webassembly/index.html113
1 files changed, 113 insertions, 0 deletions
diff --git a/files/ru/webassembly/index.html b/files/ru/webassembly/index.html
new file mode 100644
index 0000000000..84e0c56b57
--- /dev/null
+++ b/files/ru/webassembly/index.html
@@ -0,0 +1,113 @@
+---
+title: WebAssembly
+slug: WebAssembly
+translation_of: WebAssembly
+---
+<div>{{WebAssemblySidebar}}</div>
+
+<p class="summary" dir="ltr" id="docs-internal-guid-22bb55aa-d69e-e8ef-cbc6-aafea272f684">WebAssembly – это новый открытый формат байт-кода, исполняемого современными браузерами. Он позволяет переносить код, написанный на таких языках как C, C++, C#, Rust, в низкоуровневые ассемблерные инструкции и использовать его в сети. Формат имеет компактные размеры, высокую производительность, близкую к нативной, и может одновременно работать с  JavaScript.</p>
+
+<h2 dir="ltr" id="В_двух_словах">В двух словах</h2>
+
+<p dir="ltr">WebAssembly оказывает огромное влияние на веб-платформу — он предоставляет способ исполнения кода, написанного на различных языках, в сети, со скоростью близкой к нативной, чего ранее невозможно было достичь.</p>
+
+<p dir="ltr">WebAssembly разработан для дополнения JavaScript – используя WebAssembly JavaScript API вы можете загружать модули WebAssembly в приложения JavaScript и обеспечивать взаимодействие между ними, используя общие функции. Такой подход позволяет вам получить производительность и мощность WebAssembly, а также выразительность и гибкость JavaScript в ваших приложениях, даже если вы не знаете как писать код WebAssembly, а используете готовые модули.</p>
+
+<p dir="ltr">И что еще лучше, так это то, что WebAssembly разрабатывается как веб-стандарт <a href="https://www.w3.org/wasm/">W3C WebAssembly Working Group</a> и <a href="https://www.w3.org/community/webassembly/">Community Group</a> при активном участии основных производителей браузеров.</p>
+
+<div class="row topicpage-table">
+<div class="section">
+<h2 dir="ltr" id="Руководства">Руководства</h2>
+
+<dl>
+ <dt><a href="/ru/docs/WebAssembly/Concepts">Основы WebAssembly</a></dt>
+ <dd>Прежде всего, начните с чтения общего описания WebAssembly - что это такое, чем это может быть полезно, почему он подходит для веб-платформы и как его использовать.</dd>
+ <dt><a href="/en-US/docs/WebAssembly/C_to_wasm">Компиляция кода C/C++ в WebAssembly</a></dt>
+ <dd>После того как вы написали код на C / C ++, вы можете скомпилировать его в .wasm, например, с помощью инструмента <a href="/en-US/docs/Mozilla/Projects/Emscripten/">Emscripten</a>. Давайте посмотрим, как это работает.</dd>
+ <dt><a href="https://developer.mozilla.org/en-US/docs/WebAssembly/existing_C_to_wasm">Компиляция существующего кода C в WebAssembly</a></dt>
+ <dd>Главное, что позволяет WebAssembly, это использование огромного множества разнообразных и проверенных временем библиотек, написанных на языке C, в сети.</dd>
+ <dt><a href="/ru/docs/WebAssembly/Loading_and_running">Загрузка и запуск кода WebAssembly</a></dt>
+ <dd>После того, как у вас появился .wasm, эта статья расскажет, как из него получить, скомпилировать и создать экземпляр модуля, совмещая <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly">WebAssembly JavaScript API</a> c <a href="/en-US/docs/Web/API/Fetch_API">Fetch</a> или <a href="/en-US/docs/Web/API/XMLHttpRequest">XHR</a> API.</dd>
+ <dt><a href="/en-US/docs/WebAssembly/Caching_modules">Кэширование скомпилированных модулей WebAssembly</a></dt>
+ <dd>Кэширование больших модулей WebAssembly на клиенте полезно для повышения скорости запуска приложений. В этой статье объясняется, как это сделать с помощью <a href="/en-US/docs/Web/API/IndexedDB_API">IndexedDB</a>.</dd>
+ <dt><a href="/ru/docs/WebAssembly/Using_the_JavaScript_API">Использование WebAssembly JavaScript API</a></dt>
+ <dd>После того, как вы загрузили модуль .wasm, вы захотите его использовать. В этой статье мы покажем вам, как использовать WebAssembly через WebAssembly JavaScript API.</dd>
+ <dt><a href="/en-US/docs/WebAssembly/Exported_functions">Экспортируемые функции WebAssembly</a></dt>
+ <dd>Экспортируемые функции WebAssembly — это функции нативного модуля, доступные в JavaScript, которые позволяют вызывать код WebAssembly из JavaScript. В этой статье описывается, что они из себя представляют.</dd>
+ <dt><a href="/ru/docs/WebAssembly/Understanding_the_text_format">Описание текстового формата WebAssembly</a></dt>
+ <dd>Эта статья описывает текстовый формат WebAssembly. Это низкоуровневое текстовое представления модулей .wasm используемое в инструментах разработчика во время отладки.</dd>
+ <dt><a href="/en-US/docs/WebAssembly/Text_format_to_wasm">Перевод из текстового формата WebAssembly в wasm</a></dt>
+ <dd>Эта статья содержит руководство по переводу модулей WebAssembly, написанных в текстовом формате, в двоичный файл .wasm.</dd>
+</dl>
+</div>
+
+<div class="section">
+<h2 dir="ltr" id="Ссылки_на_API">Ссылки на API</h2>
+
+<dl>
+ <dt>{{jsxref("Global_objects/WebAssembly", "WebAssembly")}}</dt>
+ <dd>Этот объект является пространством имен для всех функций, связанных с WebAssembly.</dd>
+ <dt>{{jsxref("Global_objects/WebAssembly/Module", "WebAssembly.Module()")}}</dt>
+ <dd>Объект <code>WebAssembly.Module</code> содержит не контролируемый WebAssembly код, который уже скомпилирован браузером и может эффективно использоваться совместно с<a href="/en-US/docs/Web/API/Worker/postMessage"> Workers</a>, <a href="/en-US/docs/WebAssembly/Caching_modules">кешироваться в IndexedDB</a>, и иметь несколько экземпляров.</dd>
+ <dt>{{jsxref("Global_objects/WebAssembly/Instance", "WebAssembly.Instance()")}}</dt>
+ <dd>Объект <code>WebAssembly.Instance</code> это контролируемый, исполняемый экземпляр <code>Module</code>.  <code>Instance</code> содержит все  <a href="/en-US/docs/WebAssembly/Exported_functions">экспортированные функции WebAssembly</a>, которые позволяют вызывать код WebAssembly из JavaScript.</dd>
+ <dt>{{jsxref("Global_objects/WebAssembly/instantiateStreaming", "WebAssembly.instantiateStreaming()")}}</dt>
+ <dd>Функция <code>WebAssembly.instantiateStreaming()</code> является основной для компиляции и создания экземпляра кода WebAssembly, возвращающая одновременно <code>Module</code> и <code>Instance</code>.</dd>
+ <dt>{{jsxref("Global_objects/WebAssembly/Memory", "WebAssembly.Memory()")}}</dt>
+ <dd><code>WebAssembly.Memory</code> это изменяемый {{jsxref("Global_objects/ArrayBuffer", "ArrayBuffer")}} содержащий в себе данные не имеющие типа к которым обращается <code>Instance</code>.</dd>
+ <dt>{{jsxref("Global_objects/WebAssembly/Table", "WebAssembly.Table()")}}</dt>
+ <dd><code>WebAssembly.Table</code> объект является изменяемым типизированным массивом значений, таких как ссылки на функции, которые доступны <code>Instance</code>.</dd>
+ <dt>{{jsxref("WebAssembly.CompileError()")}}</dt>
+ <dd>Создает новый WebAssembly <code>CompileError</code> объект.</dd>
+ <dt>{{jsxref("WebAssembly.LinkError()")}}</dt>
+ <dd>Создает новый WebAssembly <code>LinkError</code> объект.</dd>
+ <dt>{{jsxref("WebAssembly.RuntimeError()")}}</dt>
+ <dd>Создает новый WebAssembly <code>RuntimeError</code> объект.</dd>
+</dl>
+</div>
+</div>
+
+<h2 dir="ltr" id="Примеры">Примеры</h2>
+
+<ul dir="ltr">
+ <li><a href="https://github.com/JasonWeathersby/WASMSobel">WASMSobel</a></li>
+ <li>Больше примеров вы можете найти в нашем репозитории <a href="https://github.com/mdn/webassembly-examples/">webassembly-examples</a>.</li>
+</ul>
+
+<h2 id="Спецификация">Спецификация</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('WebAssembly JS')}}</td>
+ <td>{{Spec2('WebAssembly JS')}}</td>
+ <td>Initial draft definition of the JavaScript API.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>
+<div class="hidden">Эта таблица совместимости автоматически создается на основе структурированных данных. Если вы хотите внести свой вклад, пожалуйста, посетите <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на внесение изменений.</div>
+
+<p>{{Compat("javascript.builtins.WebAssembly")}}</p>
+</div>
+
+<h2 id="Смотрите_также">Смотрите также</h2>
+
+<ul dir="ltr">
+ <li><a href="https://research.mozilla.org/webassembly/">WebAssembly on Mozilla Research</a></li>
+ <li><a href="http://webassembly.org/">webassembly.org</a></li>
+ <li><a href="https://hacks.mozilla.org/category/webassembly/">WebAssembly articles on Mozilla Hacks blog</a></li>
+ <li><a href="https://www.w3.org/community/webassembly/">W3C WebAssembly Community Group</a></li>
+ <li><a href="/en-US/docs/Web/HTTP/Headers/Large-Allocation">Large-Allocation HTTP header</a></li>
+ <li><a href="https://developers.google.com/web/updates/2018/03/emscripting-a-c-library">Emscripting a C Library to Wasm</a></li>
+</ul>