wabt - основной инструмент при работе с WASM. Также wasm-tools и некоторые утилиты из комплекта binaryen. Из плагинов ничего более продвинутого чем подсветка синтаксиса и автодополнение имен операций я не встречал. VSCode базово поддерживает искаропки, для остальных редакторов плагины гуглятся.
Вариант с LLVM IR тоже рассматривался. Но там было сложно песочницу реализовать без сильной потери производительности. К тому же IR не такой уж и переносимый за пределами хелоувордов на самом деле. Модуль собранный в WASM должен запускаться всегда и везде где есть рантайм, втч на архитектурах CPU которых еще даже не существует в природе.
Искаропки нет, но ничего не мешает хостовому окружению прокинуть внутрь функции для этого. Вроде как я даже встречал прецеденты, но с ходу не вспомню где.
wabt - основной инструмент при работе с WASM. Также wasm-tools и некоторые утилиты из комплекта binaryen. Из плагинов ничего более продвинутого чем подсветка синтаксиса и автодополнение имен операций я не встречал. VSCode базово поддерживает искаропки, для остальных редакторов плагины гуглятся.
Вариант с LLVM IR тоже рассматривался. Но там было сложно песочницу реализовать без сильной потери производительности. К тому же IR не такой уж и переносимый за пределами хелоувордов на самом деле. Модуль собранный в WASM должен запускаться всегда и везде где есть рантайм, втч на архитектурах CPU которых еще даже не существует в природе.
Из рантаймов:
wasmer - наиболее живой и продвинутый из standalone рантаймов. В будущих статьях с его помощью будем делать CLI программы на WASM.
wasmtime - вроде живой, но я его особо не пробовал.
В V8 на котором основаны хром и нода есть встроенный WASM рантайм и он наиболее передовой по фичам. Собственно он и использовался в этой статье.
У огнелиса тоже есть своя реализация.
В общем имплементаций хватает
Искаропки нет, но ничего не мешает хостовому окружению прокинуть внутрь функции для этого. Вроде как я даже встречал прецеденты, но с ходу не вспомню где.