Новый шаг для 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

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

Рекомендательные технологии Подробнее
Технологии и IT-новости • 8 месяцев назад

Google расширяет инструменты для удаления из поиска чувствительных личных данных

Google расширил возможности инструмента "Results about you", позволяющего пользователям удалять из поиска чувствительные личные данные (номера документов, контактные данные) и упростил удаление неразрешённых изображений. Новые функции начинают работу в США с планами на международный запуск.

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

Mozilla добавляет в Firefox возможность полностью отключить функции ИИ

В Firefox 148 появится новый раздел управления ИИ, который позволит пользователям полностью блокировать все ИИ-функции или отключать их по отдельности. Обновление призвано дать пользователю выбор и повысить прозрачность ИИ-инструментов в браузере.

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

LibreOffice 26.2.1 вышел с крупным набором исправлений ошибок

Обновление LibreOffice 26.2.1 стало первым крупным патч-релизом серии 26.2 с устранением около 65 ошибок. Улучшена стабильность, совместимость с форматами Microsoft Office и исправлены проблемы в ключевых модулях.