WASM 3.0: Нет компонентной модели и без «Docker Moment»

Скажем так, WASM 3.0 — важный релиз. И все же, компонентная модель еще не была завершена. Мы можем сказать, что великий, широко ожидаемый «Docker Moment» для Webassembly еще не был достигнут.

Моя идея «Docker Moment» для Webassembly относится к ныне известному твиту Соломона Хикса, в котором, по его словам, перефразировать, что если бы Wasm+Wasi существовал в 2008 году и был завершен и в рабочем состоянии, тогда никогда не было бы необходимости в докере в первую очередь.

Таким образом, первоначальное обещание величия Webassembly по -прежнему остается в стадии разработки. И «момент докера» — и то, как моя концепция этого переводится в фактическое использование — зависит от модели компонента. И модель компонента еще не была завершена и зависит от выпуска WASI 0,3 (подробнее об этом ниже).

Я также сказал бы, что его опоздание не так значительна и ужасна, как может показаться на поверхности. То есть в прошлом году или около того было очень интересные разработки на стороне сервера.

«Прелесть WASM заключается в том, что она была широко принята в отрасли. Набор функций WASM 3.0 улучшит опыт для всех, а не только для тех, кто нацелен на браузер»,-сказал мне бывший соучредитель Bitnami и генеральный директор Developer Developer Deviler Daniel Lopez Ridruejo. «Спецификация модели компонентов, которую я вижу в качестве дополнения и строительства в верхней части общей спецификации WASM, и она достигает устойчивого прогресса, даже если это нужно больше, чем многие хотели бы».

Меньше мусора

Выдающиеся функции WASM 3.0 — некоторые из которых были в разработке до восьми лет, включают (в соответствии с тем, что рассматривается в документации):

64-битное адресное пространство: Воспоминания и таблицы теперь могут быть объявлены использованием i64 в качестве типа их адреса вместо только i32. Это расширение в теории расширяет адресное пространство приложений WASM от 4 гигабайт до (опять же, теоретически) 16 экзабайт. Приложения WASM, предназначенные для запуска в браузере, для которого был первоначально создан WASM, означает, что 64-битная память ограничена 16 гигабайтами, хотя возможный прыжок до 16 экзабитов на стороне сервера особенно огромный.

Несколько воспоминаний: Как отмечалось в документации и «вопреки распространенному мнению», Васм всегда смог использовать несколько объектов памяти — и, следовательно, несколько адресных пространств — одновременно. Но перед выпуском WASM 3.0 каждое пространство памяти должно было быть объявлено, доступно и объявлено в отдельных модулях. Это особенно интересно и поддерживает «развернуть один раз, развернуть в любом месте» одновременно, так как один модуль теперь может объявить (определить или импортировать) несколько воспоминаний и напрямую доступ к ним, включая непосредственное копирование данных между ними, говорят разработчики WASM.

Сборник мусора: Помимо дальнейшей поддержки очень легкого и низкой задержки аспекта кода и приложений, распространяемых через модули WASM, WASM GC становится более адаптируемым и менее жестким, поскольку компиляторы для настройки «Инженерные подходящие представления» для значений на языке исходного языка, включая детали реализации, такие как таблицы методов. Не существует встроенных объектных систем, ни закрытий, ни других конструкций более высокого уровня, которые неизбежно будут сильно смещены в сторону определенных языков. Вместо этого WASM предоставляет только основные строительные блоки для представления таких конструкций и фокусируется исключительно на аспекте управления памятью, сообщает его разработчики.

Скажем так, что во многих отношениях WASM (или Webassembly) широко используется, и я бы сказал, что многие пользователи даже не осознают этого. Независимо от того, используя такие услуги, как Hyperlight на Azure, Spin или Wasmcloud, эти платформы позволяют полезным функциональным возможностям Webassembly и новым, описанным выше.

Опять же, модель компонентов еще не была закончена, но многие компонентные возможности уже встроены, предлагаются и работают так, как пользователи могут воспользоваться такими услугами, как Stackblitz, Endor.dev и другие.

В случае эндора в функциональность Webassembly было добавлено много веселья и утилиты. Разработчики могут создавать воспроизводимые, изолированные среды тестирования через несколько секунд вместо часов или дней, благодаря молниеносной скорости Webassembly. Разработчики также могут управлять агентами и кодированием, позволяя разработчикам быстро и надежно проверить этот код, говорят разработчики Endor. Endor предоставляет способ сделать это как в браузере, так и в командной строке.

В моем случае я получил очень ходующую версию первого «Звездных войн», выпущенных всего за несколько минут, после доступа к серверу Endor и установки оболочки.

Слухи компонентов

WASM 3.0 не включает в себя завершение модели компонента. В то время как Endor приближается, волшебный момент, похожий на Docker, когда вы просто размещаете практически любое приложение в модуле WASM-и вы развертываете его в любом месте, или отправляете его в любом месте, и его можно использовать везде, где вы хотите-все еще остается в работе.

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

Во многом зависит от завершения компонентной модели, и особенно ее отношения с WASI, которая является стандартным интерфейсом или API, связывающим модули Webassembly с компонентами. Он будет поддерживать разработку так называемых «миров» Webassembly, поскольку группы совместимых компонентов WASM образуют взаимосвязанную инфраструктуру, аналогичную Kubernetes, но без контейнеров. WASI Preview 2, выпущенный в 2024 году, добился некоторых огромных шагов к стандартизации, но мы еще не там. В 2025 году мы, скорее всего, не достигнем Святого Грааля, но мы могли увидеть некоторые приятные сюрпризы. Ходят слухи, что WASI 0,3 не может быть завершен в этом году, что потенциально задержит выпуск WASI 1.0 и, следовательно, модели рабочей компонента.

И опять же, внедрение Webassembly в рабочую ткань инфраструктуры по всему миру продолжается и не основано на выпуске WASI 3.0.

«Компонентная часть была строго отменена в WASI, поэтому они не перевернули ее в основной стандарт»,-сказал мне Мэтт Батчер, соучредитель и генеральный директор Fermyon. «Поэтому я согласен: мы еще не достигли этого ключевого момента Docker. Но мы приближаемся».

Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. BC Gain является основателем и главным аналитиком Revecom Media. Его одержимость компьютерами началась, когда он взломал консоль космических захватчиков, чтобы играть весь день за 25 центов в местной видеокаде в начале 1980 -х годов. Затем он … читайте больше от B. Cameron Gain

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *