Size: a a a

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

2021 August 28

DM

Dmitry M in WebAssembly — русскоговорящее сообщество
Классная штука. Как JS, но не JS 😂
источник

Б

Богдан in WebAssembly — русскоговорящее сообщество
В современной разработке фронтенда GC не особо то и нужен. Вот как например работает реакт - сработал обработчик события который поменял что-то в состоянии и вызывал перерендер приложеня в процессе которого аллоцируется дерево объектов (virtual-dom) дальше оно сравнивается с предыдущим деревом объектов и выполняются точечные изменения в дом-дереве.
Для такой аллокации объектов GC не нужен потому что эти объекты живут до следующего перерендера - для этого достаточно создать два фиксированных массива - в один аллоцируем новые объеты и сравниваем с предыдущим массивом ну и свапим при следующем рендере.
Дальше есть состояние которое мы меняем и которое является долгоживущим (сохраняется между перерендерами). Тут на первый взгляд кажется что нужен GC но если подумать то это состояние больше напоминает базу даных - всегда есть явное событие/интеншн когда нужно удалить тот или иной объект - например в состоянии хранится список тодо-задач и дальше юзер кликнул на кнопку "удалить" и нужно удалить такую-то задачу из списка. И зачастую код обработки этого события в реакте уже выполняет частично задачу GC - а именно берет и явно удаляет задачу из массива списка тодошек в состоянии и я не представляют что мешает дальше поверх этого с помощью удобного хелпера добавить деаллокацию объекта если на него нет больше ссылок.
То есть я вижу больше необходимость в аллокаторе-деаллокаторе и некой бд/орм-ке для объектов (которая будет заниматься подсчетом ссылок и удаленем внутренних объектов при удалении родительского а также разруливанем циклических сслыок) при разработке фронтенда а не в дженерик сборщике мусора (который будет заниматься сканированием ссылок от рут-сета оргомного дерева состояния)
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
js и web это не только react. Дальше даже не читал, сори
источник

НС

Никита Сковорода... in WebAssembly — русскоговорящее сообщество
virtual-dom это устаревший ненужный костыль, кстати

да и утверждение очень странное
без gc ничего работать в жсе не будет
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
И это тоже. Elm, svelte и Solid.js тому пример. Кстати все это компилируемое
источник

AC

Alexander Chichigin in WebAssembly — русскоговорящее сообщество
Чтобы в Вашей схеме с двумя массивами не утекала память, нужен GC. Не говоря о том, что GC нужен самому браузеру чтобы таки собирать DOM-узлы.
источник
2021 August 29

でゲソ in WebAssembly — русскоговорящее сообщество
сесть за штурвал дело не хитрое, а вот полететь
источник

N

Nikolay in WebAssembly — русскоговорящее сообщество
Так в жс же есть сборщик, с чего это он не нужен?
источник

PM

Pavel Mellonges® in WebAssembly — русскоговорящее сообщество
А используется ли assembly script  в node js на реальной практике?
источник

M

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

НС

Никита Сковорода... in WebAssembly — русскоговорящее сообщество
Fewer в процентном отношении. (И на этом тред можно закрывать кмк).
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
wasm-4 это своебразная виртуальная игровая консоль (вроде pico8), где игры пишуться на WebAssembly. Поддерживаются Rust, C, AssemblyScript и Go. Вот игра на AS:
https://wasm4.org/play/snake

исхожники:
https://github.com/aduros/wasm4/blob/main/examples/snake/src/main.ts
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Охохо
источник

К

Константин in WebAssembly — русскоговорящее сообщество
хотя бы 8 бит ну или 16, но не 4 цвета :)
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Ну те 256 цветов
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Там палитра из 256 цветов вроде
источник

M

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

でゲソ in WebAssembly — русскоговорящее сообщество
а в рантайме палет менять льзя?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
без понятия. Наверное можно
источник

К

Константин in WebAssembly — русскоговорящее сообщество
я думаю до флипа нельзя
источник