Начать работу с веб-сборкой (в 10 раз быстрее, чем Javascript)

В настоящее время веб-браузеры становятся более мощными, чем когда-либо, и способны не просто отображать элементы DOM. Интернет становится обширной экосистемой, позволяющей разработчикам ориентироваться на настольные и мобильные устройства с помощью таких вещей, как PWA'S, AMP'S, WebVR и собственные API-интерфейсы , например DeviceMedia, геолокация, гироскоп, состояние батареи, возможность подключения и многое другое.

Интернет движется к состоянию единства

На сегодняшний день четыре основных браузерных движка поставляют в основном все эти функции. Фактически, кроссбраузерная совместимость становится менее обременительной для разработчика, поскольку WEB движется к состоянию единства.

ВЕБ-СБОРКА

Но, на мой взгляд, самая захватывающая возможность современного браузера - это WEBASSEMBLY. Проще говоря, это ключ к компиляции вашего кода, написанного на языках низкого уровня, таких как C или C ++, непосредственно для запуска в Интернете (как клиентские, так и серверные приложения, так как NodeJS основан на Chrome V8).

Преимущество, конечно же, заключается в производительности, поскольку выходной формат представляет собой двоичный формат инструкций для виртуальной машины на основе стека, которая работает почти с собственной скоростью!

Посмотрите эту безумную демонстрацию игры Unity, запущенной в Chrome:

Истории успеха:

AutoCAD успешно смог импортировать свой код C / C ++ 25-летней давности (который старше самого Интернета!) и отправил свои настольные приложения прямо в браузеры своих пользователей. Теперь пользователи могут моделировать свои 3D-объекты где угодно, с любого устройства без процесса установки или чего-либо еще.

Возможности для бизнеса:

Такие компании, как Photoshop, AutoCAD, а также медиакомпании, начнут предлагать свои услуги непосредственно в браузерах в виде программного обеспечения SAAS, разработанного для игр. with Unity также может поставляться с использованием этой технологии.

Начиная :

Для начала на официальной странице WebAssembly есть простое руководство, которое я постараюсь сделать еще проще!

Загрузка Toolchain:

Emscripten - это предварительно скомпилированный набор инструментов для компиляции C / C ++ в WebAssembly.

Добавьте Emscripten в переменную Path:

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

В Windows замените ./emsdk только на emsdk, а исходный ./emsdk_env.sh на emsdk_envabove.

Это сгенерировало html-файл, который мы можем обслуживать через HTTP, мы можем использовать веб-сервер emrun, поставляемый с Emscripten SDK:

Откройте браузер и перейдите по адресу http: // localhost: 8080, после чего вы увидите приветственный мир, напечатанный на консоли.

Привет, мир в webAssembly!

Я надеюсь, что мы увидим больше разработчиков Javascript и C / C ++, которые будут сотрудничать для создания новых приложений, использующих эти технологии, особенно с огромным количеством библиотек, таких как OpenCV, которые используются для создания новое поколение веб-приложений или сверхмощных модулей npm

Ссылки:

Https://webassembly.org

Основной доклад Google о webAssembly

0