Flutter Forward 2023: Что значат для вашего бизнеса анонсированные Google инновации?

Опубликовано: 2023-02-13

Что может быть лучше, чем начать новый год с одного из самых важных событий в области разработки программного обеспечения — Flutter Forward 2023 ? Команда разработчиков Flutter в Miquido считает, что изучение улучшений, анонсированных во время конференции, не менее приятно! Давайте выясним, действительно ли название события Flutter Forward является пророческим. Пришло время подвести итоги самых примечательных выпусков Flutter 3.7 и кратко рассказать о планах на будущее кроссплатформенной платформы Google.

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

Новые направления для Flutter и Dart: дорожная карта, представленная на мероприятии Flutter Forward
Дорожная карта, представленная во время мероприятия Flutter Forward

Давайте обсудим основной доклад Flutter Forward, подробно рассмотрим 4 наиболее важных будущих направления для платформы Google и рассмотрим ценность для бизнеса улучшений, объявленных на 2023 год.

Исходный показатель: Флаттер в 2022 г.

Flutter — это платформа с открытым исходным кодом, созданная Google для оптимизации процесса разработки приложений для нескольких платформ при сохранении максимальных возможностей, предлагаемых нативными подходами. Google анонсировала первый стабильный релиз (Flutter 1.0) в конце 2018 года, и относительно новый набор инструментов быстро стал самой популярной в мире средой кроссплатформенной разработки.

В 2021 году Flutter стал самым популярным кроссплатформенным фреймворком

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

Google сосредоточится на разработке Flutter в 2023 году

Google очень привержен развитию Flutter, о чем свидетельствует почти 20 выпусков в 2022 году. Согласно дорожной карте, опубликованной на Github, Flutter планирует объявить еще 4 стабильных выпуска и 12 бета-выпусков в 2023 году. Кроме того, в честь внушительного сообщества внешних участников. , Flutter недавно объявила о своей новой стратегии выпуска новых функций, «когда они достигают бета-канала, а не ждут, пока они появятся на канале стабильного выпуска», и «поощряет людей, которым нужен более быстрый цикл обновления, использовать бета-канал».

Выдержка из дорожной карты Flutter на 2023 год, опубликованная на Github
Выдержка из дорожной карты Flutter , Github

Глядя на дорожную карту 2023 года, представленную на мероприятии Flutter Forward в Найроби, Кения, становится ясно одно. Flutter сейчас вступает в фазу, когда его кроссплатформенная конкуренция остается далеко позади. Масштабы ожидаемых улучшений производительности, качества, доступности и безопасности, а также количество новых функций, которые Flutter планирует выпустить в 2023 году, действительно впечатляют. Обсудим наиболее важные из них.

Топ-4 новинки, анонсированные во время Flutter Forward 2023

Во время мероприятия Flutter Forward основатели кроссплатформенного фреймворка обратили внимание на 4 основных направления, которые они хотят развивать в ближайших релизах, в том числе:

  1. Революционная графическая производительность
  2. Полная интеграция для Интернета и мобильных устройств
  3. От раннего до новых и появляющихся архитектур
  4. Постоянное внимание к опыту разработчиков.

Рассмотрим подробнее самые пикантные новости из четырех вышеперечисленных категорий.

1. Революционная производительность графики: импеллер и материал 3

Во время мероприятия Flutter Forward компания Flutter подчеркнула свою растущую приверженность улучшению графической производительности набора инструментов пользовательского интерфейса Google. Команда Flutter не только решила переписать среду выполнения рендеринга Flutter Impeller, но и объявила о предстоящем переходе на Material 3. Что эти изменения означают для компаний, заинтересованных в разработке своего цифрового продукта с помощью Flutter?

Больше прогресса в импеллере

Flutter run –enable-impeller — это значительная переработка среды выполнения рендеринга Flutter, направленная на исправление проблем с рывками анимации и обеспечение плавного выполнения сложных анимаций (таких как калейдоскопы или 3D). И хотя Impeller в настоящее время доступен только в ранней бета-версии (режим предварительного просмотра для iOS), Flutter Dev сообщил, что в ближайшие месяцы они намерены доработать поддержку Impeller для iOS и объявить дату выпуска предварительного просмотра для Android.

Это [Импеллер] — совсем другой опыт. Он такой шелковисто-гладкий. (…) По сути, мы можем создать механизм рендеринга графики, адаптированный для Flutter, а не использовать универсальный рендерер.

Тим Снит, директор по продуктам и пользовательскому интерфейсу Flutter и Dart в Google

Миграция флаттера на Материал 3

Одним из прорывных изменений, объявленных во время Flutter Forward, является переход с материала 2 (M2) на материал 3 (M3). Последняя версия Flutter, Flutter 3.7, содержит виджеты, основанные на новой версии языка дизайна Google. Почему это важное изменение и какие последствия оно может иметь для вашего цифрового продукта?

Что такое материал 3

Начнем с небольшой информации для тех, кто не знаком с M2 и M3. Material Design — это язык дизайна, разработанный Google в 2014 году для объединения принципов UX/UI с техническими инновациями. Адаптируемая система графических компонентов, руководств и инструментов упрощает сотрудничество между разработчиками и дизайнерами и значительно упрощает создание удобных для пользователя цифровых продуктов.

Последнее обновление Material от 2021 года, Material 3, принесло стандартизацию проблем доступности и гораздо большую эластичность графических компонентов. Гибкость Материала 3 в первую очередь связана с введением стандарта для работы с токенами дизайна, т. е. мельчайшими единицами, составляющими систему дизайна (такими как цвет, типографика или интервал). Что это значит на практике? Просто взгляните на один из демонстрационных проектов Google: мобильное приложение Wonderous, разработанное с помощью Flutter и основанное на Material 3!

Wonderous, пример приложения Flutter, созданного с помощью Material 3.
Wonderous, пример приложения Flutter, созданного с помощью Material 3.
Какие возможности привносят миграцию Flutter в Material 3?

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

Конечно, переход на Material 3 — это процесс, поэтому на этапе Flutter 3.7 создатели фреймворка обращают внимание на следующие вопросы:

  • Несмотря на то, что большинство виджетов Flutter уже были перенесены на M3, разработчики должны следить за ходом проекта Material 3 Flutter GitHub, чтобы подтвердить статус данного виджета.
  • Разработчики могут выбрать Материал 3, используя флаг useMaterial3. Однако пользовательский интерфейс может быть несогласованным, пока весь Flutter и код отдельного приложения не будут перенесены.

Хотите узнать больше о новых возможностях Material 3? Посмотрите интерактивную демонстрацию, подготовленную Flutter Dev.

Материал 3 — интерактивная демонстрация от Flutter Dev
Материал 3 — интерактивная демонстрация от Flutter Dev

2. Бесшовная интеграция для Интернета и мобильных устройств

Flutter Dev также подтвердил, что уделяет большое внимание обеспечению лучшей интеграции между Dart и другими языками программирования. В Интернете Flutter теперь можно использовать как встроенный компонент. На мобильных устройствах приложения Flutter теперь могут вызывать системные API или код, написанный на других языках программирования. Давайте обсудим самые важные улучшения, касающиеся бесшовной веб-и мобильной интеграции во Flutter!

Встраивание элемента

Одним из наиболее обсуждаемых улучшений Flutter Forward является новый стандарт Flutter для веб-разработки: встраивание модулей Flutter в существующие веб-приложения. Внедрение элементов — новая функция, предварительно представленная командой Flutter Dev, — позволяет веб-разработчикам легко встраивать содержимое Flutter с помощью стандартного элемента <div>. Другими словами, веб-разработчики вскоре смогут интегрировать виджеты Flutter в существующие приложения, даже написанные на разных языках программирования.

Демонстрация встраивания элементов от Flutter Dev
Демонстрация встраивания элементов от Flutter Dev

Прямая связь с собственными API из кода Dart

Flutter усердно работает над улучшением двух инструментов (FFIgen для iOS и JNIgen для Android) для создания привязок, позволяющих напрямую взаимодействовать с собственными API-интерфейсами из кода Dart. FFIgen и JNIgen значительно повышают эффективность разработки, позволяя вызывать нативный код и повторно использовать уже написанный код или использовать возможности, характерные для конкретной платформы. На данный момент Dart может общаться с:

  • C (дротик: ffi) → Linux
  • Objective-C и Swift (пакет dart:ffi + FFIgen) → macOS и iOS
  • C++ (пакет dart:ffi + FFIgen) → Windows
  • Java и Kotlin (пакеты JNI и JNIgen) → Android
  • JavaScript (пакет js) → Интернет.

Лучшее взаимодействие с JavaScript

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

3. Поддержка ранних и новых и появляющихся архитектур

Во время Flutter Forward 2023 команда Flutter представила свои первые попытки скомпилировать Flutter в WebAssembly (Wasm) — «переносимую цель компиляции для языков программирования, позволяющую развертывать в Интернете клиентские и серверные приложения» (WebAssembly). Тим Снит, директор по продуктам и пользовательскому интерфейсу Flutter и Dart, также объявил о поддержке Flutter RISC-V, архитектуры чипов с открытым стандартом без лицензионных отчислений. Почему мы считаем, что оба эти решения заслуживают более подробного комментария?

Флаттер и веб-сборка

Популярность WebAssembly как независимого от платформы формата двоичных инструкций во всех основных браузерах растет, и команда Flutter Dev надеется изучить его достоинства. Wasm отличается впечатляющей скоростью и производительностью, особенно при работе с большими объемами данных. Что касается обработки изображений или видео, Wasm несравненно лучше своего крупнейшего конкурента, JavaScript. Но как это может помочь в развитии платформы Google?

Похоже, WebAssembly ускорит загрузку, уменьшит размер и количество мегабайт, передаваемых по сети. (…) Потенциал WebAssembly — как в Интернете, так и за его пределами — может стать новым переносимым лингва-франка. Мне нравится идея, что мы можем взять и использовать другой код на других языках в WebAssembly.

Тим Снит, директор по продуктам и пользовательскому интерфейсу Flutter и Dart в Google

Поддержка Flutter для RISC-V

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

4. Постоянное внимание к опыту разработчиков: Dart 3 alpha и Flutter News Toolkit

Flutter — это фреймворк, созданный для повышения производительности разработчиков. Язык программирования Flutter, Dart, обеспечивает эффективную итеративную работу с функцией горячей перезагрузки, позволяя разработчикам экспериментировать, настраивать характеристики и исправлять ошибки во время разработки — без перезагрузки всего приложения. Более того, Dart быстро работает на всех платформах, позволяет разработчикам создавать сложные пользовательские интерфейсы и, что не менее важно, значительно прост в освоении.

Однако во время Flutter Forward компания Flutter Dev анонсировала еще более производительную, портативную и доступную версию Dart. Давайте поговорим о Dart 3, который теперь доступен для тестирования в ранней альфа-версии!

100% безопасность нулевого звука в Dart 3: больше никаких сбоев приложения!

Самым важным объявлением о грядущем Dart 3 является введение 100% надежной нулевой безопасности. Flutter прекратил поддержку работы без нулевой безопасности, чтобы уменьшить накладные расходы и сложность кода. В Dart 3 все переменные по умолчанию не равны нулю, что значительно снижает стоимость и сложность добавления новых функций.

В системе звуковой типизации вы можете доверять типам, а это означает, что переменная никогда не будет нулевой, если типы утверждают, что это не так. Это повышает производительность за счет выявления проблем во время разработки, а не в процессе производства, и позволяет компиляторам Dart создавать более компактный и оптимизированный код. (…) Уникальность Dart заключается в том, что он обеспечивает 100%-ную безопасность нулевых значений в существующем языке.

Майкл Томсен, управляющий директор Dart и Flutter в Google

Беспрецедентная выразительность Dart 3: записи, шаблоны и элементы управления доступом

Записи и шаблоны — это две новые основные функции Dart 3, которые оптимизируют работу со структурированными данными. Записи позволяют разработчикам Flutter создавать новые структуры данных, которые легко объединяют существующие данные. Паттерны, в свою очередь, могут деструктурировать составные данные.

Инструментарий новостей Flutter

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

Boldsports — мобильное приложение для нигерийского новостного стартапа, созданное с помощью Flutter News Toolkit всего за несколько дней.
Boldsports — мобильное приложение для нигерийского новостного стартапа, созданное с помощью Flutter News Toolkit всего за несколько дней.

Микидо и Флаттер

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

В 2018 году Miquido стала первой европейской компанией, создавшей коммерческий проект на Flutter. Мобильное приложение Topline для Abbey Road Studios не только соответствовало бизнес-предположениям, упрощая процесс записи музыки для артистов, связанных с культовым британским лейблом, но и завоевало сердца всей индустрии разработки мобильных приложений. Вот почему мы хотим подчеркнуть бизнес-возможности, предлагаемые кроссплатформенными технологиями и Flutter в мобильной разработке.

Что ждет Flutter в будущем? Опыт прошлых лет показывает, что Flutter выполняет свои публичные обещания. Поэтому мы уверены, что дорожную карту Flutter на 2023 год можно считать хорошо продуманным планом, кропотливо реализованным командой Google.