Pull to refresh

Comments 6

Дочитал до
WebAssembly-код существует в бинарном формате. Это означает, что такой код меньше, чем аналогичный JavaScript-код, и быстрее загружается.

Сильно поржал. Отличный уровень статьи. Автору, видимо, было неведомо, что чтоб написать такой wasm, который будет короче некоего JS — нужно написать очень очень много wasm и JS. В противном случае оверхед сожрёт всё напрочь, в то время как для JS оверхед отсутствует (всё уже есть в браузере).

PS: Чтоб не быть голословным — пример из статьи, имеющий 1 функцию, складывающую два числа — представляет собой бинарный файл на 4 килобайта. Что-то там говорите, короче и меньше чего?
Стало интересно, подумал, что ошибка перевода, залез в оригинал статьи.

«WebAssembly is delivered in a binary format, which means that it has both size and load time advantages over JavaScript.» я бы по другому и не перевел.

Правда, непонятно, что имелось в виду. Как он может быть короче? Время загрузки — спорить не буду (возможно), но размер…
Чистый байт-код wasm конечно же короче такого же кода на JS (который строка). Разница именно в том, что в модуль wasm входит не только чистый код, который у вас в исходниках, а еще много другого интересного. На достаточно больших объемах wasm без проблем обгонит JS, вот только до таких объемов кода еще дожить надо; огромному количеству сайтов (даже на модных фреймворках, если их применяли адекватным образом) JS надо довольно-таки мало. А уж если вспомнить про сжатие в HTTP, то всё становится еще грустнее для wasm.

В настоящее время wasm позволяет сделать неплохую числодробилку в браузере, для тех случаев, когда она реально нужна. Но на этом всё. И, опять же, быстродействие wasm — штука очень тонкая, с учётом того, что JS в браузере тоже здорово разгоняется засчёт оптимизации выполнения, пусть и не сразу; а у быстрого wasm есть бутылочное горлышко на отправке/принятии данных.
UFO just landed and posted this here

Для меня аббревиатура AS прочно ассоциируется с ActionScript (Flash)

Когда узнал о проекте впервые — его будущее было довольно неопределенным, а популярность даже по тем же звёздам на гитхабе сомнительная. Год спустя я читаю об AssemblyScript на Хабре. Я все ещё офигеваю как робкая инициатива одного человека может повлиять на целую индустрию, если ты делаешь что-то по-кайфу именно для себя.


AssemblyScript, конечно же далек от TypeScript. Точно так же, как JS далек от TS.
Однако, разработчик на JS без труда может поправить код на TS(всякое бывает), запустить тесты и со спокойной душой сделать деплой. Точно так же, при необходимости, можно и легко исправить код на AS, запустить тесты и деплойнуть. Напомню, что все это потребует от разработка только установки модулей проекта, без необходимости ставить другое ПО и погружаться совершенно в другой контекст. А в случае AS у вас ещё и синтаксис наследуется от TS, а это далеко не то же самое, чем фигачить сразу на C/C++.

Sign up to leave a comment.