Start Debugging

flutter

162 статей · Страница3из17

Исправление: pubspec.lock изменяется после flutter upgrade или при переключении версий Flutter

Flutter SDK закрепляет версии meta, vector_math, test_api и matcher, поэтому каждая смена SDK заново разрешает ваш lock-файл, а flutter upgrade запускает pub upgrade для проекта, в котором вы находитесь. Закрепите одну версию Flutter на репозиторий и требуйте неизменность lock-файла в CI.

Как синхронизировать выбранную вкладку NavigationBar с текущим маршрутом через StatefulShellRoute в go_router

Берите NavigationBar.selectedIndex из StatefulNavigationShell.currentIndex, а не из поля setState или копии, сделанной в initState. Замеры на Flutter 3.44.8 и go_router 18.0.2: какие подходы рассинхронизируются при deep link, context.go и переходах между ветками, почему индекс по location обманывает и как реагировать на смену вкладок через didUpdateWidget.
2026-10-10 flutterdartflavors

Что такое flavor во Flutter и чем он отличается от режима сборки

Режим сборки (debug, profile, release) определяет, как Flutter компилирует ваш Dart-код. Flavor (dev, staging, prod) это нативный вариант сборки, который вы описываете в Gradle и Xcode и который определяет, какое именно приложение вы выпускаете. Это независимые оси: 2 flavor на 3 режима дают 6 сборок. Проверено на Flutter 3.44.8 с AGP 9.0.1, исходный код сверен с версией 3.47.7.
2026-10-09 migrationflutterios

Миграция iOS-приложения на Flutter с CocoaPods на Swift Package Manager (Flutter 3.44 - 3.47)

Во Flutter 3.44 Swift Package Manager стал вариантом по умолчанию для iOS и macOS, но существующее приложение остаётся на CocoaPods, пока вы его не уберёте. Как проверить, какие плагины готовы к SwiftPM, дать инструменту перенести проект Xcode, безопасно удалить Podfile, разобраться с плагинами только для pods и собственной логикой в Podfile, а при необходимости откатиться.

Миграция настольного приложения Flutter для Windows или Linux на Impeller (Flutter 3.47)

Flutter 3.47 делает Impeller рендерером по умолчанию в Windows и Linux. Что на самом деле меняется под капотом (это по-прежнему OpenGL ES, а не Vulkan), как сравнить с Skia на готовой сборке, переключатель отключения для отдельной машины в релизных сборках и почему golden-тесты ничего не заметят.

Миграция пользовательских переходов между страницами после реорганизации page transition builders во Flutter (Flutter 3.44 - 3.47)

Flutter перенёс PageTransitionsBuilder и два встроенных билдера в слой widgets, а CupertinoPageTransitionsBuilder вынес из Material. Что на самом деле ломается (один импорт, с вводящей в заблуждение ошибкой 'Not a constant expression'), что делает dart fix и в чём он ошибается для проектов на material_ui, и как переписать пользовательские билдеры и маршруты, чтобы они вообще не зависели от Material.
Назад Вперёд