
Разработчики, вероятно, слишком хорошо знают о борьбе с необходимостью создавать и поддерживать единый пользовательский опыт между мобильными, десктопными и веб-приложениями. Flutter уже преодолел разрыв между разработкой под Android и iOS, а теперь Flutter расширяется на веб, десктоп и другие платформы, приближаясь к мечте «напиши один раз, запускай везде».
До сих пор мы знали Flutter как кроссплатформенный фреймворк Google для создания мобильных приложений, которые выглядят и ведут себя одинаково на Android и iOS (и Fuchsia). В прошлом году, на первом мероприятии Flutter Live, Google представил нам ранний предварительный просмотр своего проекта «Hummingbird» по переносу Flutter за пределы мобильных устройств и на веб.
На конференции I/O 2019 Google пытается разрушить мнение о том, что Flutter предназначен только для «мобильных» приложений. Вместо этого Google хочет, чтобы Flutter рассматривался как «переносимый набор инструментов пользовательского интерфейса», позволяющий компаниям и разработчикам писать только одно приложение, а не по одному приложению для каждой платформы. Для этого команда Flutter амбициозно нацеливается на веб, десктоп и встраиваемые платформы, такие как Raspberry Pi.
Перед сегодняшним мероприятием у меня была возможность протестировать несколько небольших веб-приложений Flutter на своих устройствах. Первое, что я заметил, — это насколько быстро загружаются приложения, почти удивительно быстро для его еще раннего состояния. Это возможно потому, что код Flutter (написанный на Dart) компилируется в веб-технологии, такие как JavaScript. Таким образом, для браузера это похоже на загрузку нативного веб-приложения.
Еще одним впечатляющим аспектом Flutter для веба была плавность анимации в таких приложениях, как слайд-пазл, который мы видели в оригинальной демонстрации Hummingbird. Будь то работа на Lenovo Yoga Chromebook с разрешением 4K или на Pixel 3, демонстрации Flutter для веба не показывали никаких признаков замедления.
Начиная с сегодняшнего дня, технический предварительный просмотр Flutter для веба доступен разработчикам для начала тестирования своих приложений Flutter в вебе.
Что касается десктопной платформы, прогресс Flutter был двояким. Приложения Flutter уже хорошо работали на Chromebook благодаря надежной поддержке Android-приложений в Chrome OS, но за последние несколько месяцев команда постепенно улучшала поддержку клавиатуры и мыши. Эти усилия также были перенесены на их работу по подготовке приложений Flutter к запуску на компьютерах Windows, Mac и Linux.
Наконец, Google работает над тем, чтобы сделать приложения Flutter возможными практически на *любом* устройстве с помощью Flutter Embedded. Это обеспечивает тот же опыт разработки приложений Flutter для «сценариев, включая дом, автомобили и многое другое». Мы уже видели это встраиваемое решение Flutter в течение нескольких месяцев, не осознавая этого, поскольку оно обеспечивает работу некоторых функций Google Assistant Smart Display.
Очевидно, что Google пытается сделать Flutter лучшим способом создания приложений всех типов. Неважно, предназначено ли ваше приложение для Android, iOS, Chrome OS, Windows, Web, IoT или *всего вышеперечисленного*, и это *поразительно*.