Кто этот ваш WASM (WebAssembly)?
Периодически вижу в интернетах новости про «убийцу» JavaScript. Если с «убийцей» всех Full-Stack и Frontend фреймворков всё понятно (это шутка была), то с WASM у меня встал вопрос.
Из-за своей незрелости (MVP в 2015 году) я не рассматривал эту технологию всерьёз (вакансий же нет 😔). Но недавно мне пришлось добавить Brotli.js в браузер, и этот пакет работал в оболочке Rust, скомпилированной в байт-код WASM для работы в любом браузере и на любом устройстве.
✍️ «ЧЗХ?» — подумал я и решил разобраться. Оказалось, что WASM — это виртуальная машина, которую поддерживают 99% браузеров. Мы можем написать код на любом другом языке (предпочтительно Rust, так как он быстрый?!) и скомпилировать его в модуль WASM. Этот модуль будет выполнять тяжёлую логику в нашем веб-приложении.
Пример: у нас есть приложение для редактирования фотографий, и одна из опций — это режим сепии, который мы применяем к нашим фотографиям. Мы можем написать модуль на Rust, который будет применять эффект сепии к изображениям. Это будет значительно быстрее, чем код на JavaScript, а также быстрее, чем на Swift или Kotlin.
🎨 Так, например, устроена Figma. Правда помимо C++ и WASM, её скорость обусловлена секретным рендерером WebGL (который нужен для шейдеров).
Короче интересно, но сыровато, вот вам почитать подробнее: https://habr.com/ru/companies/vk/articles/775852/
___
Post #1197
1.34K
Джун на фронте | IT Dev Log Рабочий дневник: День 25 Сегодня добавил алгоритм сжатия Brotli в наше dApp. Он нужен для того, чтобы сжимать сообщения перед отправкой в блокчейн и экономить на газе. Ведь чем больше размер данных, которые мы отправляем на хранение, тем больше денег мы…
- 🔥 6
- 👍 1
- 👎 1
- 🤡 1
- 🤣 1