Flutter SDK 1.17 добавляет Metal для iOS-приложений и улучшает производительность

Хотя Google I/O в этом году не состоится, многие из запланированных анонсов компании, особенно для разработчиков, всё же проходят в намеченные сроки. Сегодня Flutter, кроссплатформенный фреймворк Google для разработки приложений, выпускает первое стабильное обновление 2020 года — Flutter SDK версии 1.17, которое включает поддержку графического API Metal от Apple для устройств iOS.

Те, кто ожидал значительных новых функций Flutter, не найдут их в этом релизе, поскольку команда сосредоточила усилия на улучшениях производительности и доступности. Тем не менее, есть несколько ключевых дополнений, о которых стоит знать, например, совершенно новый виджет Material Design — NavigationRail, предоставленный напрямую командой Google Material Design.

В остальном, основные улучшения Flutter 1.17 в основном направлены на повышение производительности и уменьшение занимаемого места. Одна из претензий некоторых разработчиков к Flutter заключалась в том, что даже самые простые приложения занимают несколько мегабайт. Между Flutter 1.12 в декабре и сегодняшней версией 1.17, команда смогла уменьшить размер своего публичного демонстрационного приложения Flutter Gallery с 9,6 МБ до 8,1 МБ, что составило почти 20%-ное улучшение.

Реклама — прокрутите для просмотра большего количества контента

В Flutter 1.17 есть несколько других общих улучшений производительности и использования памяти, но настоящая звезда — это поддержка графического API Metal от Apple для iOS. Metal, который полностью доступен только для устройств iOS с чипом A7 или новее и работающих как минимум на iOS 10, заменяет традиционный OpenGL и может увеличить скорость отрисовки вашего приложения до 50%.

По сложившейся традиции, обновление стабильной версии Flutter 1.17 совпадает с обновлением базового языка программирования Dart до версии 2.8. Команда Dart активно работала над внедрением новой значимой функции языка — безопасности нулевых значений (null safety), которая по состоянию на Dart 2.8 становится ближе к запуску.

Однако для сегодняшнего релиза большая часть улучшений сосредоточена на инструменте «pub», используемом как Dart, так и Flutter для управления пакетами приложений. Теперь появилась новая команда «pub outdated», которая показывает, какие пакеты имеют обновления, не соответствующие вашим текущим ограничениям по версиям, позволяя вам при необходимости обновить их. Кроме того, команда смогла сделать pub run *значительно* быстрее, скачивая несколько пакетов одновременно, а не по одному.

Подробнее о Flutter: