WASM кроссбраузерность во Flutter Web на 2026
lil_master 6 часов назад Объяснить с WASM кроссбраузерность во Flutter Web на 2026 Простой 3 мин 4.1K Dart * Flutter * WebAssembly * Веб-разработка * Разработка мобильных приложений * В мае 2024 года команда Flutter...
Will Anthropic have the best AI model at the end of October 2026?
В сфере искусственного интеллекта произошло заметное событие. lil_master 6 часов назад Объяснить с WASM кроссбраузерность во Flutter Web на 2026 Простой 3 мин 4. 1K Dart * Flutter * WebAssembly * Веб-разработка * Разработка мобильных приложений * В мае 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 не занимается этой ситуацией и почему не занимается. Flutter при сборке с --wasm создаёт два варианта:main. js — автоматический резервный вариант.
Если Flutter считает Wasm-путь браузера несовместимым, загрузчик переключается на JavaScript. Поэтому пользователь увидит работающее приложение, но не получит Wasm-производительность. Flutter DocumentationFirefoxОфициальная поддержка Flutter/Wasm в Firefox пока не восстановлена.
Отраслевые последствия
Firefox поддерживает WasmGC начиная с Firefox 120, поэтому сам Dart-код теоретически способен исполняться как Wasm. Однако Flutter не включает этот режим по умолчанию из-за проблемы рендерера Skwasm: Firefox при передаче изображения из OffscreenCanvas выполняет дорогое копирование через CPU. В опубликованном тесте Firefox тратил примерно 25–30 мс на операцию, тогда как Chrome — около 0–0,1 мс.
Соответствующий баг Mozilla №1788206 остаётся открытым со статусом NEW и без назначенного исполнителя. Виноват не Flutter, Flutter DocumentationСледовательно:приложение в Firefox запустится;по умолчанию загрузится main. js + CanvasKit;реальный main.
wasm + Skwasm официально пока не считается поддерживаемым;SafariВ Safari ситуация улучшилась, но полноценная официальная поддержка Flutter/Wasm ещё не включена. 2 получил поддержку WasmGC. Старый критический WebKit-баг, вызывавший падение Dart/Wasm, был исправлен, и команда Flutter сообщала, что на Safari 26+ Wasm уже показывает хорошую производительность.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.






