Size: a a a

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

2020 May 25

e

egoarka in WebAssembly — русскоговорящее сообщество
MaxGraey
Для data driven подхода в их платформе. Они переходят от монолитной архитектуры к микросервисам (плагинам). Ну и в качестве скриптового движка и ЯП выбрали Lucet + AssemblyScript. Подробнее тут:
https://www.youtube.com/watch?v=h4bWS1Mmnaw&feature=emb_logo
а почему именно такой стек?
почему не обычный ts?
или это все с заделом на будущее в виде производительности?
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Michael Pavlovsky
Лично я считаю, что модульные тесты должны выполняться в форме, максимально приближенной к целевой среде. Я предполагаю, что вы развертываете производственный код в режиме компиляции Release - так что вам придется «принимать» код таким же образом (Так же, как в C ++. проверить 64/32 бит + Release /?Debug?)
Вообще да, но если есть возможность, лучше прогонять их в максимальном количестве доступных вариантов.
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
MaxGraey
Для data driven подхода в их платформе. Они переходят от монолитной архитектуры к микросервисам (плагинам). Ну и в качестве скриптового движка и ЯП выбрали Lucet + AssemblyScript. Подробнее тут:
https://www.youtube.com/watch?v=h4bWS1Mmnaw&feature=emb_logo
спасибо!
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
egoarka
а почему именно такой стек?
почему не обычный ts?
или это все с заделом на будущее в виде производительности?
Ну по той же причине по которой Fastly сделала Lucet для своего serverless. Быстрый запуск небезопасного кода от третей стороны
источник

e

egoarka in WebAssembly — русскоговорящее сообщество
MaxGraey
Ну по той же причине по которой Fastly сделала Lucet для своего serverless. Быстрый запуск небезопасного кода от третей стороны
понятно, надо будет посмотреть доклад, в описании что то мельком упоминается
источник

e

egoarka in WebAssembly — русскоговорящее сообщество
просто меня что смутило - я не следил за assemblyscript, но мне казалось там мало фич из коробки по сравнению с обычным ts,  и сделать что-то серьезное для e-commerce  будет сложновато

но надеюсь я ошибаюсь
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
egoarka
просто меня что смутило - я не следил за assemblyscript, но мне казалось там мало фич из коробки по сравнению с обычным ts,  и сделать что-то серьезное для e-commerce  будет сложновато

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

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Самая главная пока проблема - это не столь широкий выбор библиотек именно под AS. Но портирование с TS в AS довольно тривиальный процесс, в принципе даже может быть автоматизирован в будущем. На заре становления TypeScript у него так же было проблематично с адаптацией и наличием декларативных файлов к библиотекам. Сейчас это уже не проблема
источник

e

egoarka in WebAssembly — русскоговорящее сообщество
MaxGraey
Пока единственное чего не достает - это полноценных клозюр, но это вот уже в ближайшее время решиться. Все остальные ограничения абсолютно не сущетвенны и легко обходяться. Ну и соответственно будет со временем реализовываться
а как же асинхронщина? видел пр, там пока еще в процессе
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
egoarka
а как же асинхронщина? видел пр, там пока еще в процессе
Ну у WebAssembly вообще проблема с асинхронщиной пока что, а так то есть Asyncify и callbacks в крайнем случае
источник

e

egoarka in WebAssembly — русскоговорящее сообщество
MaxGraey
Самая главная пока проблема - это не столь широкий выбор библиотек именно под AS. Но портирование с TS в AS довольно тривиальный процесс, в принципе даже может быть автоматизирован в будущем. На заре становления TypeScript у него так же было проблематично с адаптацией и наличием декларативных файлов к библиотекам. Сейчас это уже не проблема
>не столь широкий выбор
именно это оттолкнуло включать AS в свой стек
к счастью, в расте получше с этим
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Ну если не нужна массовая адаптация и низкий порог входа то раст вполне отличное решение
источник

e

egoarka in WebAssembly — русскоговорящее сообщество
egoarka
>не столь широкий выбор
именно это оттолкнуло включать AS в свой стек
к счастью, в расте получше с этим
хотя сам сейчас переписываю код с тайпскрипта на раст
источник

MP

Michael Pavlovsky in WebAssembly — русскоговорящее сообщество
@maxgraey Насколько болезненно  иметь несколько экземпляров Runtime Hosts (чтобы  компенсировать отсутствие потоков)?
источник

MP

Michael Pavlovsky in WebAssembly — русскоговорящее сообщество
Скажем, один на ядро
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
имеется ввиду использование WebWorkers но без SharedArrayBuffer?
источник

MP

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

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Ну медленее, так придется пересылать сообжения + затраты на сериализацию / десериализацию / клонирование
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Но сказать на сколько медленее затрудняюсь. Так или иначе раньше жили и не тужили)
источник

VS

Volodymyr Shymanskyy in WebAssembly — русскоговорящее сообщество
Michael Pavlovsky
Лично я считаю, что модульные тесты должны выполняться в форме, максимально приближенной к целевой среде. Я предполагаю, что вы развертываете производственный код в режиме компиляции Release - так что вам придется «принимать» код таким же образом (Так же, как в C ++. проверить 64/32 бит + Release /?Debug?)
Вообще, лучше всего запускать тест как в production mode, так и под Valgrind и Sanitizers. В 2 прогона
источник