Flutter 3.47: что нового в релизе и как обновиться

Вышла новая версия популярного кроссплатформенного фреймворка — Flutter 3.47. Это обновление приносит не только свежие функции, но и важные архитектурные изменения: системы проектирования Material и Cupertino теперь развиваются отдельно от основного SDK, а их автономные пакеты достигли версии 1.0. В

Flutter 3.47: что нового в релизе и как обновиться

Вышла новая версия популярного кроссплатформенного фреймворка — Flutter 3.47. Это обновление приносит не только свежие функции, но и важные архитектурные изменения: системы проектирования Material и Cupertino теперь развиваются отдельно от основного SDK, а их автономные пакеты достигли версии 1.0. Вместе с этим графический движок Impeller стал рендерером по умолчанию на настольных платформах, что обещает значительный прирост производительности. В статье разберём, что именно изменилось, как это повлияет на ваши проекты и стоит ли немедленно обновляться.

Что нового в Flutter 3.47

Релиз Flutter 3.47 включает несколько ключевых изменений, которые затрагивают как внутреннюю архитектуру, так и пользовательский опыт разработки. Самое значимое — разделение систем проектирования Material и Cupertino на отдельные пакеты. Теперь они распространяются как автономные библиотеки materialui и cupertinoui, каждая из которых достигла версии 1.0. Это означает, что команда Flutter планирует выпускать обновления этих пакетов независимо от основного фреймворка, что ускорит внедрение новых дизайн-систем и упростит их поддержку.

Кроме того, в этой версии Impeller, который ранее был экспериментальным, становится рендерером по умолчанию для настольных платформ (Windows, macOS, Linux). Impeller использует современные графические API, такие как Metal и Vulkan, что обеспечивает более высокую производительность и плавность анимаций по сравнению со старым Skia. Разработчикам, которые полагались на Skia, стоит протестировать свои приложения на новой версии, чтобы убедиться в отсутствии визуальных артефактов.

Также в релизе улучшена поддержка последних версий операционных систем Apple: подготовлена совместимость с iOS 26, macOS 26 и Xcode 27. Это важно для тех, кто разрабатывает приложения для экосистемы Apple и хочет использовать новейшие API и возможности.

Предыстория и контекст

Flutter развивается стремительными темпами с момента своего появления в 2017 году. За это время фреймворк прошёл путь от экспериментального проекта до одного из самых популярных инструментов кроссплатформенной разработки. Одной из ключевых проблем, которую команда Flutter решала в последние годы, была производительность рендеринга. Изначально Flutter использовал Skia — графическую библиотеку, которая хорошо работала на мобильных устройствах, но на настольных платформах показывала нестабильные результаты. Это стало причиной разработки Impeller — собственного движка, оптимизированного под современные GPU.

Постепенно Impeller внедрялся на различных платформах: сначала на iOS, затем на Android, и вот теперь настала очередь десктопа. Это логичный шаг, поскольку Flutter всё чаще используется для создания настольных приложений, и производительность там критически важна.

Разделение систем проектирования также имеет глубокие корни. Material Design и Cupertino — это две основные дизайн-системы, которые Flutter поддерживает из коробки. Однако их развитие было связано с основным SDK, что замедляло выпуск новых компонентов и обновлений. Теперь, когда пакеты стали автономными, разработчики смогут получать обновления дизайна быстрее, а также использовать их в других проектах, не привязанных к Flutter.

Как это повлияет на разработчиков?

Для разработчиков, использующих Flutter, это изменение означает необходимость адаптации. Если вы используете стандартные виджеты Material или Cupertino, вам не придётся менять код — пакеты остаются совместимыми. Однако если вы хотите получить доступ к новым компонентам, которые появляются в materialui и cupertinoui, вам нужно будет добавить эти пакеты в зависимости вашего проекта.

Также стоит обратить внимание на переход на Impeller. В большинстве случаев он работает быстрее и стабильнее, но возможны визуальные отличия от Skia, особенно в сложных сценариях рендеринга. Рекомендуется провести тестирование вашего приложения на всех целевых платформах, чтобы убедиться, что всё выглядит корректно.

Для тех, кто использует кастомные шейдеры или специфические графические эффекты, может потребоваться дополнительная работа по адаптации. Однако команда Flutter обещает, что Impeller полностью совместим с большинством стандартных возможностей, и лишь редкие edge-case могут вызывать проблемы.

Технические подробности: что изменилось под капотом

Помимо уже упомянутых изменений, в Flutter 3.47 есть ряд технических улучшений. Во-первых, это оптимизация конвейеров сборки для iOS и macOS: теперь они полностью поддерживают Xcode 27, что позволяет использовать новые функции компилятора и ускоряет сборку проектов.

Во-вторых, несколько виджетов, которые ранее были помечены как предварительные (preview), теперь переведены в стабильный статус. Среди них — обновлённые версии виджетов для работы с текстом, ввода и навигации. Это значит, что они готовы к использованию в production-приложениях без риска нестабильности.

Также в релизе улучшена работа с памятью и ускорен запуск приложений на настольных платформах. Это достигается за счёт более эффективного использования ресурсов и оптимизации загрузки шрифтов и ассетов.

Кого затронет и как

Этот релиз затронет всех разработчиков, использующих Flutter, но в разной степени. Для тех, кто разрабатывает мобильные приложения, изменения не столь радикальны — Impeller уже использовался на iOS и Android, так что переход будет почти незаметен. Основные изменения касаются настольных приложений: если вы создаёте приложения для Windows, macOS или Linux, вам стоит обратить внимание на новый рендерер и провести тестирование.

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

В России и СНГ Flutter также активно используется, и разработчики могут столкнуться с особенностями, связанными с доступом к некоторым сервисам. Однако сам фреймворк полностью открыт и не зависит от геополитических факторов, так что обновление пройдёт без проблем.

Что будет дальше

Команда Flutter продолжает активно развивать фреймворк. В ближайших планах — дальнейшая оптимизация Impeller, расширение функциональности materialui и cupertinoui, а также улучшение поддержки веб-платформы. Ожидается, что в следующих релизах мы увидим ещё больше возможностей для настольных приложений, включая улучшенную поддержку системных интеграций.

Также стоит ожидать, что автономные пакеты дизайн-систем будут обновляться чаще, что позволит разработчикам быстрее получать новые компоненты и следовать актуальным трендам в дизайне. Для сообщества это означает более живую экосистему и больше возможностей для экспериментов.

Итог

Flutter 3.47 — это важный шаг в развитии фреймворка, который делает его ещё более мощным и гибким инструментом для кроссплатформенной разработки. Переход на Impeller на десктопе, автономные пакеты дизайн-систем и улучшенная поддержка новых версий Apple — всё это делает Flutter ещё привлекательнее для разработчиков. Если вы ещё не обновились, самое время сделать это и протестировать свои проекты. А если вы только начинаете знакомство с Flutter, сейчас отличный момент, чтобы присоединиться к сообществу и создавать современные приложения с высокой производительностью.