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

Демонстрация инструментов, которые теперь доступны в Интернете благодаря WebAssembly.

Томас Наттестад
Thomas Nattestad

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

Без лишних слов, давайте перейдем к хорошему :D

SQLite

Этот полный порт SQLite предоставляет вам легкую встроенную систему управления реляционными базами данных. Чтобы узнать больше, прочитайте эту запись в блоге, в которой демонстрируется этот невероятный порт и способы его использования .

FFmpeg.wasm

FFmpeg — это бесплатный программный проект с открытым исходным кодом, состоящий из набора библиотек и программ для обработки видео, аудио и других мультимедийных файлов и потоков. Вы можете найти скомпилированную версию Wasm здесь ( репозиторий GitHub ), которая позволяет вам выполнять все эти функции непосредственно в браузере.

Универсальное описание сцены (долл. США)

Универсальное описание сцены (USD) — это платформа для данных трехмерной компьютерной графики, которая ориентирована на совместную работу, неразрушающее редактирование и обеспечивает возможность множественных представлений и мнений о графических данных. Это отраслевой стандарт, поддерживаемый такими компаниями, как Pixar, Autodesk, Nvidia и многими другими. Их веб-поддержка еще только начинается, но Autodesk уже открыла исходный код веб-просмотра долларов США , который вы можете увидеть здесь .

CanvasKit

CanvasKit — это Skia, движок рендеринга Chrome и Android, скомпилированный непосредственно в WebAssembly. С его помощью вы получаете простой доступ через JavaScript API практически ко всем возможностям механизма рендеринга Skia. Функциональность включает в себя сложный рендеринг, формирование текста, анимацию, рисование и многое другое. Ознакомьтесь с пакетом npm и кратким руководством по началу работы .

TensorFlow.js

TensorFlow.js переносит возможности TensorFlow непосредственно в браузер с помощью простого API JavaScript. Под капотом он оптимизирует модели как графического процессора, так и процессора (включая оптимизацию SIMD), чтобы максимизировать производительность. Вы можете просмотреть руководство по началу работы или просмотреть некоторые из их демо-версий напрямую .

OpenCV

OpenCV — это отраслевой стандарт функций программирования, в основном для компьютерного зрения в реальном времени. Здесь есть простой в использовании пакет npm , а для пользователей Emscripten также есть подробная инструкция по выполнению полной сборки . Чтобы узнать, как SIMD и потоки улучшают производительность этих рабочих нагрузок, вы можете посмотреть этот раздел доклада Modern WebAssembly Chrome Dev Summit .

Кокосовые острова

Cocos — мощный и популярный игровой движок, который позволяет разработчикам создавать игры с кроссплатформенной поддержкой, в том числе и в Интернете. Он присоединяется к длинному списку игровых движков, поддерживающих веб-экспорт через Wasm. Чтобы начать, зайдите в редактор Cocos и следуйте этим инструкциям .

Заключение

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

Героическое изображение из Pexels , автор Энн Мари Кеннон .