Добавить объявление

Flutter 3.38: что нового?

Квартальные релизы Flutter постепенно становятся похожими на швейцарские часы: предсказуемые, точные и наполненные множеством мелких улучшений, которые в сумме меняют опыт разработки. Версия 3.38 не исключение. На первый взгляд кажется, что это просто еще одно обновление, но под поверхностью скрываются изменения, которые затрагивают самую суть разработки на Flutter: от синтаксиса языка до способа взаимодействия с нативными платформами.

Синтаксическая революция:


Самый обсуждаемый элемент релиза: dot shorthands - на самом деле не фича Flutter, а изменение Dart 3.10. Но именно во Flutter оно проявляется наиболее ярко. Возможность писать .start вместо MainAxisAlignment.start - это не просто сокращение символов. Это изменение философии.

Раньше Dart требовал явности, даже когда контекст был очевиден. Теперь язык доверяет разработчику и инструментам. Компилятор понимает, что в контексте Column параметр mainAxisAlignment может быть только типа MainAxisAlignment. Эта, казалось бы, мелочь меняет ощущение от языка - код становится более плотным, читаемым и менее зашумленным.

Но здесь же кроется и вызов: теперь начинающим разработчикам будет сложнее понять, откуда берется .all в EdgeInsets.all(8). Прозрачность уступает место эффективности - классический компромисс дизайна языков программирования.

Жизненный цикл по-новому - UIScene для iOS:


Поддержка UIScene lifecycle не просто очередная адаптация под требования Apple. Это фундаментальное изменение в том, как Flutter-приложения живут на iOS. Переход от AppDelegate-based к Scene-based архитектуре открывает возможности для более сложных сценариев: несколько окон, улучшенная работа с внешними дисплеями, лучшая интеграция с iPadOS и visionOS.

Но здесь есть и темная сторона: миграция обязательна. Apple уже объявила, что в релизе после iOS 26 приложения, не использующие UIScene, просто не запустятся. Flutter 3.38 дает инструменты для миграции, но сам процесс - еще один пример того, как мобильная разработка становится все сложнее.

Производительность - тихая работа над ошибками:


Никто не будет писать в релизных нотах «исправили 15 мелких утечек памяти и улучшили производительность на 3% в крайних случаях». Но именно такие изменения составляют суть версии 3.38:

  • Оптимизации Vulkan/OpenGL, которые на некоторых устройствах дадут заметный прирост FPS.

  • Исправление утечки памяти на Android, которая могла накапливаться при пересоздании Activity.

  • Улучшение Performance Overlay, чтобы сам инструмент профилирования меньше влиял на результаты.

  • Эти изменения незаметны, пока все работает хорошо. Но они создают фундамент для стабильности в будущем.

Вывод:


Flutter 3.38 - это релиз про зрелость. Зрелость языка, который учится быть более выразительным с меньшим количеством символов. Зрелость инфраструктуры, которая переходит от «работает» к «работает предсказуемо и эффективно». Зрелость экосистемы, которая начинает разделять ответственности.

Главный тренд, который прослеживается во всех изменениях - это движение от монолита к модульности. Dot shorthands отделяют намерение от избыточной специфики. Web-конфигурация отделяет настройки среды от кода. Будущее разделение Material / Cupertino отделяет дизайн-системы от ядра фреймворка.
22.01.2026 11 282