Start Debugging

dart

122 статей · Страница5из13

Миграция веб-приложения на Flutter с dart:html на package:web и dart:js_interop

Пошаговая миграция с устаревших dart:html, dart:js_util и package:js на package:web 1.1.1 и dart:js_interop: как найти каждый проблемный импорт с помощью компилятора dart2wasm, что переименовывает dart fix, а что нет, ловушки JSImmutableListWrapper и innerHTML, и как проверить результат через flutter build web --wasm.

Перенос импортов Material и Cupertino во Flutter на пакеты material_ui и cupertino_ui

Полная миграция с package:flutter/material.dart и package:flutter/cupertino.dart на material_ui 1.1.1 и cupertino_ui 1.0.2: что перезаписывает dart fix --code=migrate_design_widgets, почему виджеты сторонних пакетов начинают падать на поиске предка, что на самом деле исправляет MaterialUiCompatibilityBridge и как меняется зависимость от flutter_localizations.

Fix: вход через Firebase Auth не сохраняется в release-сборке Flutter для Android

Firebase Auth восстанавливает сессию на Android из приватного файла SharedPreferences без единого сетевого запроса, поэтому выход из аккаунта только в release никогда не является поломкой персистентности. Причина в другом google-services.json, отклонённом обновлении токена, App Check или вашем собственном блоке catch.
2026-08-29 dartflutterisolates

В чем разница между isolate в Dart и потоком?

Поток разделяет память со всеми остальными потоками процесса. Isolate в Dart не разделяет: у него собственная куча, один цикл событий, а с другими isolate он общается только сообщениями. Разбираем, что это значит на уровне VM, где isolate groups размывают границу и как все это проявляется во Flutter, FFI и вебе.
2026-08-24 flutterdarttesting

Как протестировать Flutter-виджет в фиксированный момент времени без замыкания withClock

Внутри testWidgets внешний clock из package:clock уже поддельный, но начинается с системного времени запуска теста. Зафиксируйте его для всего набора тестов, переопределив runTest в собственном AutomatedTestWidgetsFlutterBinding, который устанавливается из flutter_test_config.dart. Проверено на Flutter 3.44.2, clock 1.1.2, fake_async 1.3.3.
2026-08-21 flutterdartandroid

Исправление: интерфейс Flutter перекрывается системной панелью навигации Android после перехода на SDK 35

Переход на Android SDK 35 переводит приложение Flutter в режим edge-to-edge, поэтому тело Scaffold отрисовывается за панелью навигации. Обрабатывайте отступы через SafeArea и padding из MediaQuery вместо отказа от режима, потому что в Android 16 такой отказ уже не работает.
2026-08-21 flutterdartsecurity

Flutter 3.47.1 не даёт транзитивному пакету внедрить нативный код в ваше приложение

Хотфикс 3.47.1 проверяет идентификаторы классов и пакетов плагинов до того, как они попадут в GeneratedPluginRegistrant. Разбираем закрытую дыру, регулярное выражение, которое её закрывает, и остальные 11 исправлений релиза.
Назад Вперёд