Комментарии 16
Интересно, а есть реальные примеры использования wasm в продакшене? Я видел демки как QtQuick (qml) запускали в браузере, но там хватало глюков. Особенно если запускать на мобилках.
Когда NPAPI запретили — куча полубраузерных игрушек перешла c Unity Web Player на WebAssembly.
Можно конкретные примеры?
Чёт кроме небольших примеров ничего не нашёл.
Рандомная игра с ArmorGames: https://armorgames.com/home-game/18041. Про что она — не знаю, но заставка явно от загружающейся Unity.
Там таких, если что, много.
На прошлой работе в моей и в соседней командах делали UI для админок продакшн-систем на Blazor+Telerik. В .net 5.0 им уже вполне можно было пользоваться, сейчас (.net 7.0) стало еще лучше.
Выбирали не потому что wasm, а чтобы относительно простой UI мог сделать дотнетчик без привлечения реакто-фронтов.
Встречались SPA на yew и иже с ними. Правда не пробовал смотреть что там с ними на мобилках случается.
На мобилках всё должно быть хорошо - поддержка wasm в мобильных браузерах тоже давно есть.
То что она есть не гарантирует, что она такая же как и на десктопе.
Веб-версия AutoCAD.
Figma.
Как-то странно обойдена тема DOM.
Вот-вот. Перечислена куча какой-то хрени, нужной разве только разработчикам компиляторов, а самых важных вещей, из-за отсутствия которых этот wasm почти никто и не использует, нет и в помине.
Нет работы с DOM (или хотя бы напрямую с canvas), нет возможности расшаривания памяти, чтобы не копировать буфера туда-сюда между wasm-средой и браузером, ну и т.д.
Вот тут:
В течение многих лет над JavaScript было проделано много работы, чтобы сделать его действительно быстрым в браузере, и, подобно тому, как многие разработчики хотят, чтобы их языки работали и в браузере тоже, разработчики JavaScript хотят запускать свой код вне браузера.
Написана чушь. Код JavaScript оптимизируется без какого-либо влияния host среды. То есть производительность одного и того же JS кода не зависит от того, запускаете Вы его в браузере или в любой другой host среде под управлением одного и тогоже рантнйм.
В v8, получение и последующая загрузка байт кода, без необходимой пересборки js кода, существует уже больше 5 лет.
v8 єто рантайм, который сейчас торчит ушами даже из китайских нонейм чайников.
Состояние WebAssembly в 2022-23 годах