В мае 2024 года команда Flutter выпустила версию Flutter 22, в которой они стабилизировали поддержку WebAssembly, объединив компилятор Dart с системой сборки мусора WebAssembly — WASM GC. С тех пор появилось очень много работ, в которых WebAssembly вёл себя намного лучше, чем JavaScript. WASM доказал свою эффективность в реальных приложениях. Например, Dart DevTool, сложное высокоинтерактивное веб-приложение Flutter, поставляется с WebAssembly по умолчанию с конца 2024 года.
Примерно с этого же времени я много экспериментировал со сборками WASM и, в принципе, для широкого круга приложений они работают не хуже JavaScript, кроме двух интересных проблем. Это несовместимость данной технологии с браузерами Firefox и Safari.
Мне было интересно, почему вообще возникает такая несовместимость, потому что на неё я наткнулся на одном из комментов на Medium. И, понятное дело, там хейтят в этом именно Flutter. Но я решил покопаться в этом вопросе: то есть при чём здесь вообще Flutter и действительно ли команда Flutter не занимается этой ситуацией и почему не занимается.
В чем дело?