
Google уже много лет работает над кроссплатформенным SDK для разработки приложений для Android и iOS под названием Flutter. С момента выхода из бета-версии в начале этого года на Mobile World Congress, Flutter продемонстрировал невероятный рост. Сегодня, на своем первом крупном мероприятии, Flutter Live, SDK покидает бета-стадию с выпуском Flutter версии 1.0.
Для тех, кто не знаком, Flutter — это ответ Google на сложность разработки согласованного приложения для кардинально отличающихся платформ Android и iOS. В отличие от других кроссплатформенных решений, таких как React Native и Xamarin, которые используют нативные компоненты, Flutter использует собственный графический движок, основанный на Skia от Chrome, для последовательного рендеринга ваших приложений.
Как под капотом, так и внутри ваших приложений, Flutter использует язык программирования Google Dart и был движущей силой его крупного обновления 2.0. Для разработчиков, которые раньше не использовали Dart (см.: большинство), он довольно прост в освоении, имея сходство со многими основными языками, включая Java и JavaScript.
Многие известные компании поддержали Flutter, когда он еще находился на этапе предварительного выпуска, включая Abbey Road Studios, Alibaba и Hamilton. Сама Google также подкрепила свои слова делом, переведя свое критически важное приложение Google Ads на Flutter.
Я также не могу говорить о Flutter, не упомянув, что это один из основных методов разработки приложений для грядущей операционной системы Google, Fuchsia. Мы уже освещали важность Flutter для Fuchsia и даже создали собственное приложение для Fuchsia с его помощью. Значительные части того, что мы знали как основной пользовательский интерфейс Fuchsia, были даже построены с использованием Flutter.
С момента выпуска Release Preview 2 в начале этого года, ничего существенного для Flutter не изменилось. Между приростом производительности и стабильности от Dart 2.1 и исправлением собственных ошибок, выпуск Flutter 1.0 полностью сосредоточен на стабильности — как для приложений разработчиков, так и для инструментов Flutter.
Flutter 1.0 доступен сейчас для Windows, OS X, Linux и (с некоторыми усилиями) Chrome OS.
Будущее Flutter
Заглядывая вперед, в ближайшие месяцы в Flutter будут реализованы два крупных улучшения: одно для интеграции Flutter в существующие приложения Android и iOS, а другое — для интеграции частей Android и iOS в Flutter.
Существуют инструкции о способах интеграции Flutter в существующие приложения Android и iOS, но Google обещает сделать этот процесс «Add to App» более простым для следующего выпуска.
Напротив, приложения Flutter скоро смогут отображать нативные компоненты Android и iOS через «Platform Views». Эти Platform Views позволят разработчикам быстро интегрировать ранее написанные нативные компоненты в свои новые приложения Flutter.
Лучшим примером является представление Google Maps. Вместо того, чтобы переделывать Google Maps в Flutter, можно просто использовать нативные версии, доступные для iOS и Android через Platform Views. Самое приятное то, что эти нативные компоненты будут обрабатываться так же, как и любой другой виджет Flutter.
Мне удалось поговорить с менеджером по продуктам Flutter в Google, Тимом Снитом, о Platform Views. Он хотел заверить разработчиков, что Platform Views — это не просто «временное решение» для использования при разработке версии определенного нативного представления для Flutter, а что Platform Views станут «полезным инструментом, который можно добавить в арсенал любого разработчика».
Эти улучшения, вероятно, появятся в следующем стабильном релизе, запланированном на февраль. В дальнейшем ожидается, что Flutter будет выпускать стабильные обновления ежеквартально. Желающие могут использовать другие каналы выпуска Flutter, чтобы попробовать эти функции раньше.
Мнение 9to5Google
Потратив немало времени на практическую работу с Flutter и Dart, должен сказать, что теперь честно проще создать кроссплатформенное приложение с помощью Flutter, чем нативное приложение для iOS или Android.
Посетите 9to5Google на YouTube для получения других новостей: