Начинаем работу с WebAssembly

0
5100

Руководство разработчика представлено в виде пошаговой инструкции для компиляции простой программы непосредственно в WebAssembly.


Руководство разработчика

Чтобы компилировать в WebAssembly, используем Low Level Virtual Machine (LLVM). В качестве предварительного условия необходимы следующие инструменты:

После установки перечисленных элементов убедитесь, что git, cmake и python доступны в PATH.

Руководство разработчика включает в себя компиляцию Emscripten

Сборка Emscripten автоматизирована за счет Emscripten SDK. Весь процесс состоит из следующих этапов:

Установка завершена. Далее введите:

Эта команда добавляет соответствующие переменные среды и записи в PATH для настройки и легкого доступа к инструментам компилятора.

В Windows замените элемент команды ./emsdk на emsdk, а в source ./emsdk_env.sh запишите emsdk_env.

Компилируем и запускаем простую программу на WebAssembly

Мы разобрали полную инструментальную цепочку, которая используется для компиляции простой программы в WebAssembly. Однако есть несколько оговорок:

  • Мы должны передать -s WASM=1 в emcc (иначе по умолчанию emcc выдаст asm.js).
  • Если мы хотим, чтобы Emscripten создавал HTML-страницу, которая запускает нашу программу, в дополнение к двоичной базе wasm и JavaScript-оболочке мы должны указать имя выходного файла с расширением .html.
  • Наконец, чтобы запустить программу, мы не можем просто открыть HTML-файл в веб-браузере. Для этого необходимо воспользоваться HTTP.

Теперь давайте напишем простую программу «Hello, World!» и скомпилируем ее. Этап компиляции – последняя строка кода:

Чтобы задействовать HTTP, используйте веб-сервер emrun, поставляемый с Emscripten SDK:

После запуска HTTP-сервера вы можете открыть его в браузере и увидеть «Hello, World!».

Дальшейшее изучение

Также рекомендуем Вам посмотреть:

Git за полчаса: руководство для начинающих
6 приложений, использующих глубокое обучение, для начинающих
Учебник по выживанию для начинающих разработчиков
Как выучить Python и найти работу
Язык Python и миллион запросов в секунду