Не могу больше молчать. Постараюсь не спойлерить слишком много.
Да, начало. Но впереди еще очень длинный путь. И проделать его мы можем только сообща. И меня очень радует, что один из шажков был выполнен пусть не сообща, но хотя бы одновременно несколькими крупными компаниями.
Сама работа с DOM так и остается на плечах JS, появилась возможность тяжелую и не очень логику приложения перенести на предсказуемую и быструю платформу не заморачиваясь с "Убийцами оптимизации JS" не учитывая "особенности V8" и других js-движков. Нативному С/С++ коду не требуются эти оптимизации, парсинги, учитывание распространенных паттернов и другие тормозные вещи, всё уже готово и загружено в бинарном формате, только выполнить осталось
А как вообще на этом писать?) Или надо писать на C++, и компилировать в WASM? Если так, то дебажить будет невесело. Хотя наверное потом сделают возможность дебажить выполняемый код в браузере прямо из какого-нибудь Qt.
На сколько слышал, он по большей части предназначен для промежуточного представления скриптов, а не для написания. Общую суть понял так: сделали виртуальную машину для web. Оптимизация очевидна: убиваем парсинг и уменьшаем габариты страниц.
Это не замена JS, это возможность подключать библиотеки написанные на C/С++ в браузере, которые будут выполнятся как нативные (что-то вроде того, что сейчас в nodejs). Отлаживать, соответственно, не обязательно в браузере, но всё равно уже сообщают, что и в браузере будет поддержка View Source и отладка
Аудитория флеша шире, чем у любого известного браузера. Пока Webassembly не наберет аудиторию, уязвимости в нем активно искать никто не будет. Формат будет считаться безопасным.
А когда (если) наберет аудиторию, посыпятся и дыры, а на хабре начнут периодически мелькать статейки «Webassembly умер! Будущее за HTML6»
Жаль, что нужно объяснять, что смысл примера совсем в другом. От нативности технология каким-то волшебным образом становится принципиально более безопасной?
Это скорее замена PNaCl, wasm это платформонезависимый байткод, выполняемый с привилегиями js, npapi — бинарные модули браузера без каких либо ограничений для кода(читай решето), но ограничены в подключении по соображениям безопасности и здравого смысла.
Три основных браузера добавили поддержку низкоуровневого бинарного формата WebAssembly