Как стать автором
Обновить

Прогресс WebAssembly и будущее веба. Быстрые интерфейсы, пример Figma

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров8.4K
Всего голосов 38: ↑35 и ↓3+51
Комментарии16

Комментарии 16

Подводя итог, WebAssemly позволяет создавать в веб-приложения, которые по производительности не уступают нативным программам для настольных компьютеров

А где сравнение с нативным вариантом?

а что там сравнивать, его производительность на сколько я понимаю на уровне js, а работает несколько быстрее просто потому что все изначально скомпилировано. v8 компилирует весь код который идет в интерпретатор во время выполнения скрипта (а та же java для примера ждет 10-20к вызовов, чтобы не тратить больше времени на компиляцию, чем на выполнение редкого метода), скорее всего отсюда и разница (по большей части). так что толку от этих 2-3 раз когда оно все равно раз в 50 медленней чем нативный код... как по мне смысл webassembly это запуск изначально нативных программ в браузере кое как, чтобы пыхтел браузер клиента а не ваш сервер для создания например видео и т.д. Те оно дает возможность запускать в браузере то, чего в нем никогда не было, т.к. писалось на "c", а на js было в виде поделок, поделок одного человека как принято в мире фронта ;)

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

многое сделал для продвижения этого революционного веб-стандарта (уволился в 2021-м).

Уволиться — это конечно не мало. Не поспоришь.

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

Подождите 24 месяца и всё вернётся обратно как было

А почему именно 24 месяца?

Сначала примут новый стандарт. Потом его реализуют в браузерах. Потом добавят поддержку во всякие реакты, да ангуляры. Потом массово выкатят новые версии. Потом пользователи и (что важнее) всякие продуктологи и продаваны заметят, что всё стало работать быстрее. Потом продуктологи и продаваны решат расширить функционал. Ведь появились "лишние" ресурсы. Вот на всё это я бы отвёл 24 месяца. Возможно, я излишне оптимистичен

Вы излишне оптимистичный. Просто сейчас говнокод оптимизируют до некоего предела в 2-3 секунды, которые юзер терпит. Просто будут меньше оптимизировать раз и так уже за 3 секунды грузится.

А что нибудь поменялось за последние годы, или как и раньше, WebAsm позволяет выполнять по сути только расчеты, а вся связь с внешним миром чисто через JS браузера?

По крайней мере, появились современные фреймворки, например такой как leptos, который позволяет скрыть все детали реализации(прослойку в виде js), и писать на том же расте с leptos так же как на js с реактом. По производительности получается примерно как обычный js, но пишешь на своем языке. Например, на том же leptos'е, уже можно с легкостью писать ssr full-stack приложения, смешивая серверную и клиентскую части сайта, просто вызывая функции. Экосистема связанная с WASM сейчас очень быстро развивается и в вебе, и в облачной инфраструктуре.

Здравствуйте!

**это бинарный формат для безопасного и эффективного выполнения портативных программ...

Чем обуславливается безопасность выполнения? Подскажите пожалуйста.

Тем, что нет доступа к C:\Windows

Всё окружение изолировано внутри вкладки браузера. А та в свою очередь обёрнута в свою собственную песочницу. Большинство известных CVE связаны с несанкцbонированным доступом к памяти, именно проблемы с этим и фиксит wasm. Есть конечно шанс, что рантайм с багами и можно выбежать из песочницы, но их довольно оперативно фиксят. А так изоляция получается даже лучше чем у докера.

Тем что работает внути виртуальной машины js. Вы ведь не боитесь js?

SumInt и SumDouble хороши

Половину статьи можно вырезать в 2023 году, нет смысла обсуждать asm.js, можно лишь упомянуть что такое было. Где сравнения с js, и нативом? Статья ради статьи.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий