Новый шаг для WebAssembly: модель компонентов может улучшить интеграцию с вебом

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

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

Почему WebAssembly до сих пор используют не так часто

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

Однако на практике у технологии есть проблема: она слабо интегрирована с веб-платформой.

По словам инженера Mozilla Райана Ханта, WebAssembly сегодня фактически остается языком второго класса для веба. Даже несмотря на появление новых возможностей, таких как общая память, обработка исключений и оптимизации памяти, разработчикам часто проще использовать JavaScript.

Причины довольно прагматичные:

  • JavaScript проще загружать и подключать

  • у него прямой доступ к Web API

  • разработчику не нужно строить сложную инфраструктуру вокруг кода

В итоге WebAssembly чаще используют крупные компании, которые могут позволить себе дополнительные инженерные затраты.

Что предлагает модель компонентов

Чтобы решить проблему интеграции, сообщество WebAssembly работает над Component Model: новой архитектурой для построения приложений и библиотек на базе Wasm.

Главная идея это создать стандартную систему компонентов, которые можно легко подключать друг к другу независимо от языка программирования.

Предложение включает несколько ключевых возможностей:

  • стандартный формат исполняемого компонента;

  • поддержку разных языков и компиляторов;

  • механизмы загрузки и связывания модулей WebAssembly;

  • удобное использование Web API.

Компонент в этой модели описывает высокоуровневый API, который внутри реализуется набором низкоуровневых Wasm-модулей. Это делает архитектуру более модульной и удобной для повторного использования.

Совместная работа крупных компаний

Разработкой Component Model занимается WebAssembly Community Group при участии нескольких крупных компаний и организаций.

Mozilla активно участвует в проектировании архитектуры, а Google сейчас оценивает предложенную модель и ее потенциальное влияние на экосистему.

Работа над спецификацией ведется с 2021 года. Разработчики считают, что именно этот шаг может сделать WebAssembly полноценной частью веб-платформы.

Что это может изменить для разработчиков

Если модель компонентов станет стандартом, WebAssembly сможет гораздо лучше вписаться в веб-экосистему.

Потенциальные преимущества:

  • упрощение разработки библиотек на Wasm;

  • возможность комбинировать код из разных языков;

  • более удобная интеграция с браузерными API;

  • снижение сложности сборки и запуска приложений.

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

Источник: InfoWorld

Комментарии (0)

Войдите, чтобы оставить комментарий

Похожие статьи

Технологии и IT-новости 4 месяца назад

Новая функция Gmail позволит сменить email адрес

Google готовит новую функцию, которая позволит пользователям Gmail менять свой адрес электронной почты @gmail.com, сохраняя все данные и доступ к старому адресу как псевдониму.

Технологии и IT-новости 3 месяца назад

Tinder использует ИИ для борьбы с усталостью от свайпов

Tinder внедряет инструменты на базе искусственного интеллекта, чтобы снизить усталость пользователей от бесконечного свайпинга и вернуть интерес к онлайн-знакомствам. Компания делает ставку на персонализированный подбор и более осмысленные совпадения.

Технологии и IT-новости 4 месяца назад

Launbot: портативный гаджет для сушки и глажки одежды во время путешествий

Launbot - портативный гаджет для сушки и разглаживания одежды без участия пользователя. Работает от розетки, использует тёплый воздух и UV-C-свет для быстрой обработки одежды и подходит для путешествий.

Технологии и IT-новости 4 месяца назад

Микророботы, которые могут изменить медицину

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