Flutter 2.5: що нового?

Dart 2.14 Покращена продуктивність за замовчуванням, автозаповнення з підтримкою Apple Silicon, мобільне автозаповнення, новий віджети і багато іншого!

Переклад статті What’s new in Flutter 2.5

Google, пошуковий гігант, нещодавно випустив нову стабільну версію свого широко популярного крос-платформного UI Framework Flutter. Flutter 2.5 вийшов з 4600 закритими проблемами і 3932 об’єднаними PR.

Flutter 2.5 і Dart 2.14 були випущені одночасно з очевидними значними поліпшеннями продуктивності в порівнянні з їх сучасними релізами. Реліз Flutter продовжується з кількома значними поліпшеннями продуктивності та інструментарію для пошуку проблем продуктивності у вашому власному додатку.

Одночасно з цим з’явилося кілька нових положень, включаючи підтримку повноекранного режиму для Android, велику підтримку Material You, оновлене редагування тексту з можливістю перемикання сполучень клавіш, новий, більш визначений вид ваших віджетів в Widget Inspector, нову допомогу для додавання залежностей в проекти Visual Studio Code, нову допомогу для отримання даних про включення з ваших тестових запусків в IntelliJ/Android Studio і зовсім інший макет додатка, який можна використовувати в якості вищої установи для ваших справжніх додатків Flutter.

Поліпшення продуктивності:

Цей випуск супроводжується декількома поліпшеннями продуктивності. iOS має менше помилок, споживає менше процесора та енергії, знищуючи помилки з цього джерела в нашому тестуванні, і тепер більш продуктивна. Крім того, допомога iOS 8 застаріла.

Затримка кадрів через обробку результатів асинхронних подій до і після

Ще одна причина заїдання-момент, коли збирач сміття (GC) призупиняє потік користувальницького інтерфейсу для відновлення пам’яті. У цьому випуску пам’ять для невикористовуваних зображень відновлюється без особливих зусиль, що значно скорочує час роботи GC.

GC до і після додавання виправлення для нетерплячого звільнення невикористаної великої пам’яті зображень

Еще одним улучшением производительности во Flutter 2.5 стала задержка при отправке сообщений между Dart и Objective-C/Swift (iOS) или Dart и Java/Kotlin (Android). Устранение бессмысленных дубликатов из кодеков обмена сообщениями уменьшило задержки до половины в зависимости от размера сообщения и устройства.

Затримки повідомлень iOS до і після

Dart 2.14

Цей випуск Flutter поставляється з Dart 2.14

  • > Підтримка Apple Silicon
    > Форматувальник і каскади Dart
    > > Підтримка Epub для ігнорування файлів за допомогою.pubignore
    > Pub став набагато розумнішим і швидшим
  • Flutter Lints тепер з коробки..
  • >Додано новий triple shift оператор потрійного зсуву (>>>)

Критичні зміни

Вилучено підтримку ECMAScript 5
> Втратили актуальність команди dartfmt і dart2native, а також припинили роботу stagehand
> Усунені нативні розширення Dart VM

Якщо ви хочете дізнатися більше про Flutter, відвідайте  Анонс Dart 2.14 щоб отримати більше інформації.

Framework:

Реліз Flutter 2.5 включає в себе кілька виправлень і поліпшень фреймворку.

Підтримка повноекранного режиму Android

Android,виправлено ряд проблем, пов’язаних з повноекранними режимами. Нові функції: відкидний, липкий, липкий імерсивний і від краю до краю. Ця зміна додатково додала підхід для прослуховування змін повноекранного режиму в різних режимах.

Звичайний режим (ліворуч), режим ” від краю до краю “(в центрі), режим “від краю до краю” з призначеним для користувача SystemUIOverlayStyle (праворуч)

Оновлені розміри Floating action button кнопки Дії

В рамках Material You користувачі можуть за своїм бажанням налаштувати Floating Action Button більшого розміру. За допомогою цієї зміни FAB можна налаштувати в 4 розмірах: маленький, звичайний, великий і розширений.

    • > MaterialState.scrolledUnder state added to SliverAppBar
      SliverAppBar(
                  backwardsCompatibility: false,
                  elevation: 0,
                  backgroundColor: MaterialStateColor.resolveWith((Set<MaterialState> states) {
                    return states.contains(MaterialState.scrolledUnder) ? Colors.indigo : Colors.blue;
                  }),
                  expandedHeight: 160,
                  pinned: true,
                  flexibleSpace: const FlexibleSpaceBar(
                    title: Text('SliverAppBar'),
                  ),
                ),

      > ListView тепер надсилає сповіщення про прокручувані області, навіть якщо користувач не прокручує сторінку


      Поява або зникнення смуги прокрутки в залежності від розміру ListView

  • > Підтримка матеріальних банерів тепер в ScaffoldMessenger
  • У Flutter 2.5 ви тепер зможете додати банер на найвищу точку , який буде залишатися встановленим до тих пір, поки користувач не зніме його.

ElevatedButton(
  child: const Text('Show MaterialBanner'),
  onPressed: () => ScaffoldMessenger.of(context).showMaterialBanner(
    MaterialBanner(
      content: const Text('Hello, I am a Material Banner'),
      leading: const Icon(Icons.info),
      backgroundColor: Colors.yellow,
      actions: [
        TextButton(
          child: const Text('Dismiss'),
          onPressed: () => ScaffoldMessenger.of(context)
              .hideCurrentMaterialBanner(),
        ),
      ],
    ),
  ),
)

Плагіни Camera і Image Picker отримали безліч нових можливостей

Камера: показує деякі функції –
3795 [camera] Android-rework частина 1: базові класи для підтримки функцій камери Android
3796 [camera] android-rework частина 2: функція автофокусу в Android
3797 [camera] Android-rework частина 3: функції Android, пов’язані з експозицією
3798 [camera] Android-rework частина 4: функції спалаху і зуму Android
3799 [camera] android-rework частина 5: Діапазон FPS, дозвіл і орієнтація сенсора в Android
Image Picker:
3898 [image_picker] пристрій вибору зображень виправляє пристрій камери
3956 [image_picker] зміна місця зберігання знімків з камери на внутрішній кеш на Android, щоб відповідати новим вимогам до сховища Google Play
4001 [image_picker] вилучено надлишковий запит на роздільну здатність камери
4019 [image_picker] виправлення повороту, коли камера є джерелом
> пакет акумуляторів перенесено в battery_plus
Крім того, оскільки ці плагіни на даний момент не підтримуються ефективно, вони не виділені як плагіни Flutter Favorite. Якщо ви ще не зробили цього, ми радимо перейти на додаткові версії супутніх плагінів:

Про зміни, на Android встановлена підтримка Робота додатків в повноекранний режим, на додаток до продовження реалізація концепція дизайну “Матеріальний ти“, рекламується як варіант матеріального дизайну наступного покоління.

Також було додано новий стан Materialslate.scrolledUnder, реалізовано динамічне відображення смуг прокрутки при зміні розміру і запропонований новий інтерфейс для відображення банерів з повідомленнями.

А можливості плагіна для роботи з камерою значно розширені, в ньому є інструменти для управління автофокусом, експозицією, спалахом, зумом, шумозаглушенням і дозволом.

З інших змін які виділяються з цієї нової версії Flutter 2.5:

  • Різні виправлення і поліпшення фреймворку
  • Додавання повідомлень про показники прокрутки
  • Нові можливості редагування тексту
  • Вдосконалені інструменти розробника (DevTools) з оновленим режимом спостереження за віджетами, а також інструменти для виявлення затримок відтворення і відстеження збірки шейдерів.
  • Покращено плагіни для Visual Studio Code і IntelliJ / Android Studio.
  • Почалася робота над цією версією з підтримки додатків Flutter, створених в Apple Silicon M1, які спочатку працюють на симуляторах ARM iOS.
  • Висновок:
    У Flutter 2.5 -, по всій видимості, названий найбільшим релізом з другою за величиною статистикою в історії Flutter. Оновлення створило запальну іскру серед спільноти мобільних розробників, зосередившись на різних важливих аспектах.
    На закінчення, як завжди, спасибі спільноті Flutter по всьому світу, яке робить все це можливим. Сотням розробників, які зробили свій внесок і розглянули 1000 PR в цьому оновленні, бажаємо плодів всіх ваших зусиль. Разом ми працюємо над тим, щоб змінити процес розробки додатків для розробників по всьому світу, щоб ви могли створювати більше і швидше, розгортаючи додатки на платформах, які вам важливі, з єдиної кодової бази.
    Слідкуйте за новинами від усіх нас, членів команди Flutter в Google. Рік ще не закінчився!

Menu