Size: a a a

WebAssembly — русскоговорящее сообщество

2019 May 27

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Нет, байндгена пока нету, но планируется. Пока есть только loader, который предоставлет все утилиты для конвертации и интеропа, но все нужно дергать руками
источник

IB

Ilya Baryshnikov in WebAssembly — русскоговорящее сообщество
ID:414983998
На данный момент ты можешь вирнуть только типизированные массивы такие как Uint8Array или Int32Array, но не Array<string> или i32[]. В следующей версии это ограничение снимается.

Для это на стороне хоста используй loader:
https://github.com/AssemblyScript/assemblyscript/tree/master/lib/loader

и module.getArray(UInt8Array, module.exports.someMethodReturnedArray(....))
спасибо за ссылку. то есть функция которая возвращает массив должна вернуть указатель на структуру, в которой хранится оффсет и длина массива, потом мы читаем эти два числа и передаём их в лоадер массива?
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Указатель - это всего лишь смещение относительно начала линейной памяти, Wasm умеет передавать только числа. Вот как выглядит загрузка и распаковка в getArray: https://github.com/AssemblyScript/assemblyscript/blob/master/lib/loader/index.js#L144
источник

IB

Ilya Baryshnikov in WebAssembly — русскоговорящее сообщество
ID:414983998
Указатель - это всего лишь смещение относительно начала линейной памяти, Wasm умеет передавать только числа. Вот как выглядит загрузка и распаковка в getArray: https://github.com/AssemblyScript/assemblyscript/blob/master/lib/loader/index.js#L144
понял, спасибо. и маллок в конце тоже самому вызывать?
источник

N

Nikolay in WebAssembly — русскоговорящее сообщество
прикольно
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
маллок? Ты хотел сказать memory.free? Да, нужно вызывать, но только после того, как ты куда то скопируешь полученные данные естественно
источник

IB

Ilya Baryshnikov in WebAssembly — русскоговорящее сообщество
ID:414983998
маллок? Ты хотел сказать memory.free? Да, нужно вызывать, но только после того, как ты куда то скопируешь полученные данные естественно
ой, да, фрии
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Вот есть нормальная статья на эту тему:
https://www.sitepen.com/blog/getting-started-with-assemblyscript/
источник

IB

Ilya Baryshnikov in WebAssembly — русскоговорящее сообщество
спасибо!
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Для работы с лоадером сейчас тебе нужно явно экспортировать память из AS через "export { memory }". В статье об этом говориться.

В следующей версии много чего из этого уже не нужно будет
источник

IB

Ilya Baryshnikov in WebAssembly — русскоговорящее сообщество
ID:414983998
Для работы с лоадером сейчас тебе нужно явно экспортировать память из AS через "export { memory }". В статье об этом говориться.

В следующей версии много чего из этого уже не нужно будет
а когда релиз?
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
скоро
источник

IB

Ilya Baryshnikov in WebAssembly — русскоговорящее сообщество
ID:414983998
скоро
а поддержка async / await есть в планах?
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Ilya Baryshnikov
а поддержка async / await есть в планах?
В планах имеется, но это сложно реализовать пока вне браузерных vm.
источник

IB

Ilya Baryshnikov in WebAssembly — русскоговорящее сообщество
ID:414983998
В планах имеется, но это сложно реализовать пока вне браузерных vm.
а для взаимодействия с домом что можно использовать?
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Ilya Baryshnikov
а для взаимодействия с домом что можно использовать?
Пока нет смысла работать с DOM из-под wasm. Слишком накладно, проще DOM оставить на откуп хоста (js)
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Но есть библиотека для работы с canvas:
https://github.com/as2d/as2d
источник

IB

Ilya Baryshnikov in WebAssembly — русскоговорящее сообщество
спасибо!
источник

IB

Ilya Baryshnikov in WebAssembly — русскоговорящее сообщество
ID:414983998
Указатель - это всего лишь смещение относительно начала линейной памяти, Wasm умеет передавать только числа. Вот как выглядит загрузка и распаковка в getArray: https://github.com/AssemblyScript/assemblyscript/blob/master/lib/loader/index.js#L144
а как использовать лоадер в браузере? там module.exports в коде
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
webpack, rollup, parcel, gulp или tsc?
источник