Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev компании Amiga.

О Flutter в русскоязычных источниках найти ценную информацию не так просто, а оставаться в курсе всех событий важно для разработчиков. Поэтому мы с коллегами стараемся регулярно находить интересные материалы в зарубежных СМИ и переводить их для широкого пользования.

Это статья от автора Лейги Джаретт, продуктового менеджера Google по направлению Flutter. Материал посвящен последним достижениям и будущим приоритетам в улучшении Flutter, как инструмента для разработки iOS-приложений. Оригинал статьи можно найти по ссылке.

Если вы разработчик на Flutter или интересуетесь мобильными приложениями, сайтами, аналитикой в IT, то приглашаю в наш телеграм-канал Flutter.Много. Там мы пишем о Flutter, а еще делимся кейсами, полезными подборками и актуальными вакансиями. Присоединяйтесь!

Почему разработчики со всего мира любят Flutter?

С момента запуска в 2017 году, Flutter быстро набрал популярность среди разработчиков iOS-приложений. «Разработчики по всему миру обожают Flutter», — говорит Лейги Джаретт. С помощью Flutter можно один раз написать код и реализовать приложения на iOS, Android и десктоп. Это привело к появлению огромного числа пользователей и более чем миллиону приложений, которые созданы на Flutter.

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

Какие улучшения уже внедрены во Flutter и какие изменения ждут iOS-разработчиков в ближайшем будущем? Рассказываем в этой статье.

Известные iOS-приложения на Flutter

Flutter добился успеха в различных отраслях и категориях iOS-разработки. Крупные компании, такие как BMW, Sonos и Nubank, создали свои приложения на Flutter.

Технологические гиганты, такие как WeChat и PUBG MOBILE, используют Flutter для поддержки более миллиарда активных пользователей. Небольшие компании также смогли извлечь выгоду из быстрого цикла разработки на Flutter. Одним из примеров может служить BrickIt, который применяет машинное обучение для создания новых конструкций из блоков LEGO.

Интересный факт о приложении BrickIt

Это мобильное приложение разработано нашей командой, и мне было приятно встретить его в иностранной статье.

Apple и другие технологические лидеры признали iOS-приложения, созданные на Flutter. Wonderous, справочное приложение от Flutter, было номинировано на премию Webby в категории дизайна. Apple включила Reflection.app в свою престижную акселерационную программу. Приложение So Vegan несколько раз было удостоено награды Apple «Приложение дня».

Peflection.app, доступен и на iOS App Store, и на Mac App Store
Peflection.app, доступен и на iOS App Store, и на Mac App Store

Новые улучшения

Поддержка iOS в Flutter всегда была одним из главных приоритетов. В последних релизах достигнут значительный прогресс. Давайте обсудим некоторые ключевые улучшения.

Повышенная производительность

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

Impeller облегчает процесс добавления новых функций. Они включают поддержку изображений с широкой гаммой и пользовательские решения для визуализации. На конференции Flutter Forward продемонстрировали одно из таких решений — концепция поддержки 3D.

Impeller позволяет Flutter отображать 3D-графику
Impeller позволяет Flutter отображать 3D-графику

Улучшение процесса разработки

Компания Google осознает сложности, связанные с созданием и выпуском iOS-приложения. Для экономии времени разработчиков они внедрили новые инструменты и ресурсы, которые упрощают процесс. Теперь можно подключаться к iOS-устройствам по Wi-Fi для тестирования и отладки приложений. Также внедрена валидация в процесс выпуска приложения. Этот этап гарантирует выполнение всех необходимых действий перед публикацией приложения в App Store.

Разработана документация и обучающие материалы, чтобы помочь разработчикам освоить Flutter и создавать iOS-приложения. В базе знаний добавлены примеры на Swift и SwiftUI, подготовлены инструкции по переходу от Swift к Dart, от SwiftUI к Flutter и по добавлению Flutter в уже существующее iOS-приложение. Команда Google предоставили ресурсы для поддержки различных версий на iOS и использования расширений для iOS-приложений таких, как виджеты для домашнего экрана и экрана блокировки.

Обновление компонентов интерфейса в стиле iOS

Библиотека Cupertino предоставляет виджеты (элементы пользовательского интерфейса), которые напоминают SwiftUI и UIKit. Это поможет приложениям идеально адаптироваться к устройствам Apple. Для лучшего соответствия последним руководящим принципам дизайна iOS внесены существенные обновления в библиотеку Cupertino.

В Google учли наиболее популярные проблемы и добавили новые виджеты: CupertinoCheckbox, CupertinoRadio, CupertinoListTile. И поддержку проверки правописания в текстовых полях ввода.

Автоматическая проверка орфографии в iOS для TextField и CupertinoTextField
Автоматическая проверка орфографии в iOS для TextField и CupertinoTextField

Что касается кроссплатформенного дизайна, то команда Google внедрила адаптивные конструкторы в несколько виджетов Material. Это позволяет приложениям на Flutter гибко адаптироваться к дизайну Android и iOS. Для общих виджетов без адаптивных конструкторов созданы предварительные руководства с примерами кода для адаптации виджетов или их свойств.

План развития

В стремлении сделать Flutter более удобным инструментом для разработчиков iOS, в Google сосредоточились на нескольких ключевых направлениях.

Интеграция в экосистему Apple

Flutter-разработчики должны иметь возможность без труда использовать API от Apple в своих приложениях. Это позволит создавать увлекательные приложения, объединяющие все преимущества Apple.

Несколько месяцев назад был запущен FFIgen. Этот инструмент позволяет генерировать связи для вызова API от Objective-C и Swift прямо из кода Dart. Некоторые приложения уже применяют FFIgen для вызова API от Apple. Но все же существуют некоторые ограничения. Инструмент активно улучшают и добавляют поддержку асинхронных обратных вызовов и совершенствуют взаимодействие со Swift.

Велика важность расширений для приложений в рамках экосистемы iOS. Поэтому Google разрабатывает метод создания пользовательского интерфейса для некоторых расширений на Flutter. Это даст возможность разработчикам использовать компоненты из своего приложения, созданного на Flutter, для дизайна интерфейса их расширения. Но данный подход не подойдет для всех видов расширений. Например, у виджетов WidgetKit есть строгие ограничения API. Тем не менее, он подойдет для других распространенных расширений, таких как Share или iMessage.

Концепция приложения Flutter, работающего как расширение общего доступа к iOS.
Концепция приложения Flutter, работающего как расширение общего доступа к iOS.

Кроссплатформенный дизайн

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

Поэтому команда Google ищет способы улучшить процесс дизайна и создания приложений на Flutter. Во-первых, они хотят сделать стандартные компоненты пользовательского интерфейса Flutter более гибкими. Таким образом, разработчики смогут быстро адаптировать виджеты под свои системы дизайна. Во-вторых, Google хочет использовать больше автоматизированных адаптаций, чтобы приложения Flutter выглядели естественно как на iOS, так и на Android.

Процесс разработки

Цель Google — улучшить процессы iOS-разработки на Flutter. Одним из основных фокусов является уменьшение времени построения для увеличения производительности разработчиков. Также в планах удовлетворить давние пожелания, например, возможность переименования приложения Runner. И наконец, продолжить приоритизировать улучшение производительности и общего качества работы на iOS.

Как вам статья? Пишите в комментариях было ли вам полезно! И подписывайтесь на наш телеграм-канал Flutter.Много, чтобы одним из первых узнавать о новых статьях.

Комментарии (1)


  1. Rusrst
    31.07.2023 17:19

    Switch в M3 уже не отличается особо от iOS версии