[Перевод] Флаттер 3.18 | бета-релиз | Топ-8 фичей

Привет! Меня зовут Саша Ворожищев, я руководитель направления Flutter/iOS в AGIMA. У одного из организаторов митапов Flutter Indore вышла хорошая статья — решили перевести ее для нашей команды и заодно для всех желающих. Дальше его текст с небольшими сокращениями, а после — небольшой комментарий от меня.

040746323efb8367c8624df93959d36f.png

Рассмотрим в этой статье Flutter 3.18. Сейчас доступен бета-релиз. Эта версия содержит кучу новых функций. Среди них интеграция шрифтов Apple, улучшенный Adaptive Switch и оптимизированный скролл. Давайте посмотрим на восемь важнейших аспектов этого обновления.

1. Поддержка системных шрифтов Apple

3.18 пофиксила проблему с отображением шрифтов Apple. C новым обновлением команда Flutter устранила проблему, из-за которой логика отображения работала не совсем корректно. Мелочь, а приятно.

1ca054c23e57d8d80fe5a5ba2de40c89.png

2. Улучшение адаптивного свича

Flutter 3.18 обновили реализацию Switch.adaptive. Ранее он зависел от библиотеки Cupertino, но сейчас он стал более универсальным виджетом. Все свойства переключателя стали поддерживаться в .adaptive. Помимо этого, теперь есть возможность настраивать внешний вид этого виджета.

115ea032ae6065bbe227deacf718fb25.gif

3. Улучшения производительности скролла

Одним из ключевых обновлений является возможность настройки стандартной прокрутки с использованием MultiTouchDragStrategy.latestPointer. С помощью этого пофиксили и проблему с мультитачем при прокрутке. Также пофиксили мисс-клики и небольшие прерывания при скролле или при перетаскивании элементов. Таким образом улучшили плавность работы.

4. Расширенный доступ к состоянию виджетов текста

TextField и TextFormField во Flutter очень сильно проапгрейдили и добавили поддержку MaterialStatesController. Теперь разработчики могут легко отслеживать и реагировать на изменения состояния, что делает пользовательский интерфейс более динамичным. Это улучшает гибкость и открывает новые возможности для интерактивных приложений на Flutter.

5. Изменение стека UndoHistory

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

6. UI и улучшения анимации

Одним из самых заметных улучшений является добавление UnderlineInputBorder, которая делает поля ввода единообразными. Еще одним важным дополнением является AnimationStyle, предоставляющий разработчикам больше контроля над визуальными аспектами анимаций приложения. Обновление также решает проблемы с анимацией Sliver Persistent, обеспечивая более плавную прокрутку. Кроме того, теперь разработчики могут более гибко настраивать панели навигации. 

7. Изменения самой платформы

Эти изменения направлены на повышение стабильности, ускорение и расширение функционала. Что из интересного?  

Более прокачанные логи работы BottomNavigationBar, что облегчит проверку логики навигации. Разработчики теперь будут получать логи об ошибках в случае проблем с ThemeData и ColorScheme. Обновление поддерживает совместимость Flutter с последней версией Android. 

8. Обновления Flutter Engine

Во Flutter 3.18 прокачали и само ядро Flutter. Команда значительно уменьшила его размер.

Это означает, что приложения на Flutter будут занимать меньше места, что положительно скажется и на общей производительности. Приложение будет загружаться быстрее, да и общий перформанс будет выше. Дополнительно улучшили и работу с изображениями.

Все эти улучшения в совокупности делают Flutter более эффективным и высокопроизводительным фреймворком. 

Привет всем, кто дочитал до конца =)

Это снова Саша Ворожищев. 

Выскажу свое небольшое ИМХО.

  1. Системные шрифты: ну было — и было, ну стало — и стало;

  2. Адаптивный свич — хорошо, красиво, удобно.

  3. Скролл и производительность. Вот это хороший шаг, давно стоило порефакторить и пофиксить проблемы на этой фиче. Возможно, приседаний с работой скролла со стороны разработки станет меньше.

  4. Текст филды — больше гибкости, больше состояний, больше возможностей.

  5. Японские клавиатуры нас мало интересуют, но хорошо.

  6. Разработка на Flutter становится более гибкой, более удобной и универсальной. 

  7. Команда расширила получение логов работы боттом-бара и работы с приложением в целом. Хороший шаг, который снижает количество проблем в процессе разработки и, соответственно, увеличивает ее скорость.

  8. Логичный и ожидаемый шаг. Ожидаем не только оптимизации объема сборок, но и прироста общей производительности.

А вот тут я веду канал про Флаттер и мобилку. Там контент больше для новичков для кросс-платформы, но есть и про софт-скиллы, и просто новости. Добро пожаловать =)

© Habrahabr.ru