Ну вот не очень удобно получается, переменные например странные, инструментарий все же не совсем готов (по крайней мере в сравнении с другими развитыми технологиями, где сборка и вся разработка в два клика настраивается)
Как в статье написано, делали так: плюсовый код запускался через тесты в нативной среде, где и дебаггеры крутые и по скорости приемлемо, а уже на финальном этапе тестировался в браузере. Сюрпризов не случалось, если что-то разному работало, то в итоге находилась и сама разница и (часто, чего уж греха таить) человеческий косяк.
Да, верно, можно было, мы даже немного посмотрели, но проблема в том, что TS (произносится как JS) — это другая среда, там есть свои примочки (например асинхронщина или генераторы), которые не сразу понятно как будут выражены в wasm, а с ним мы экспериментировали в первую очередь из-за производительности, там нужен полный контроль. Да и в момент когда мы начинали первые эксперименты (года 1.5 назад) он показался сыроватым.
Что касается размера, то мы, конечно, постарались в этом месте пооптимизировать, поотключать ненужное, но, опять же, среда там другая, понятия стандартной библиотеки или подобного там нет. И елси, например, мы используем где-то функцию sort(), то это значит что ее код попадет в модуль. В теории можно было бы, наверное, «сходить в js», но непонятно чего это будет стоить в рантайме из-за передачи данных и смены контекста.
Как в статье написано, делали так: плюсовый код запускался через тесты в нативной среде, где и дебаггеры крутые и по скорости приемлемо, а уже на финальном этапе тестировался в браузере. Сюрпризов не случалось, если что-то разному работало, то в итоге находилась и сама разница и (часто, чего уж греха таить) человеческий косяк.
Что касается размера, то мы, конечно, постарались в этом месте пооптимизировать, поотключать ненужное, но, опять же, среда там другая, понятия стандартной библиотеки или подобного там нет. И елси, например, мы используем где-то функцию sort(), то это значит что ее код попадет в модуль. В теории можно было бы, наверное, «сходить в js», но непонятно чего это будет стоить в рантайме из-за передачи данных и смены контекста.