Flutter 1.0 — релиз 4 декабря
Позавчера, 4 декабря, прошло знаменательное для мобильных разработчиков событие: презентация Flutter версии 1.0. Если Вы еще не слышали об этой новой технологии, то стоит сказать о ней несколько слов.
Флаттер — это набор инструментов от Google для создания нативных приложений для iOS И Android из одной кодовой базы. То есть пишем код на Dart, а затем компилируем его в приложение для iOS и в приложение для Андроид. Сама по себе идея компиляции под разные платформы из одной кодовой базы не нова. React Native, Xamarin, PhoneGap… Но только Флаттер обещает сделать приложения быстрыми и красивыми настолько же, насколько вообще могут быть быстрыми и красивыми нативные приложения для этих операционок. А может быть даже красивее. По крайней мере то, что показали на вчерашней презентации, было очень эфффектным.
Постараюсь рассказать о том, что мне больше всего понравилось в этой презентации.
- Приложение The History of Everything.
Они показали, насколько анимированным и в то же время функциональным может быть приложение. Управлять списком не только прокруткой, но и менять само содержимое с помощью жеста маштабирования — это было красиво. Вспомнить историю и посмотреть на падающее на Ньютона яблоко — забавно. А рабочая гугл-карта внутри движущегося на анимации телефона (который можно поворачивать и уменьшать-увеличивать) вызвала аплодисменты. После такого кажется, что пределов для воплощения того, что нарисовал дизайнер, просто нет. - Рассказ о том, как мы — разработчики — обычно внедряем дизайн в приложение.
Чаще всего мы не можем сразу же сделать приложение таким, каким нарисовал его дизайнер. С закругленными краями, нестандартными элементами управления (Я вот тоже прямо сейчас мучаюсь — не могу подобрать слайдер, чтобы было два переключателя минимум-максимум и кастомизированная картинка переключателя в андроид-приложении). Мы упрощаем, думаем: да, когда нибудь я перепишу этот элемент управления, чтобы он был вот прямо таким… и это когда-нибудь очень редко наступает. От нас требуют функциональности, соблюдения сроков, да чего угодно и чаще всего на детальное следование дизайну не остается времени. С Флаттер такого не будет, во-первых, благодаря тому, как строится система виджетов, лежащая в основе всех визуальных элементов. А во-вторых, потому что дизайнер может сделать часть работы за программиста. Нужна в приложении сложная анимация — дизайнер добавляет ее в Flare (этот инструмент тоже был представлен 4 декабря) и программист может ее использовать с минимумом усилий. - Создание приложения с таймером, использованием обеих камер, кастом-шрифтами. Все это вместе с рассказом как и что пишется в коде за 10 минут. Это было просто захватывающе. Пожалуй я даже задумалась, не начать ли смотреть Twitch с Флаттер-программистами. И конечно сроки создания законченного приложения с нуля впечатляют: 3 месяца в среднем.
И еще пара важных моментов, которые правда в релиз не вошли, но были явно названы ближайшими планами:
- Добавить к кроссплатформенному списку не мобильные платформы. То есть как минимум Mac, Linux и Windows, хотя также было названо Raspberry Pi. Это будет проект Flutter Desktop Embedding
- Добавить поддержку веб. То есть опять же — код тот же самый, но можно открыть и в браузере. Это будет проект Hummingbird
- Добавить возможность использования кусочков (вставок?) Флаттер в существующих проектах. Это для тех у кого уже есть проект, но они захотят его усовершенствовать с помощью преимуществ, которые дает Флаттер
И наконец, мои собственные выводы из этой конференции.
Флаттер сделали очень вкусным для заказчиков мобильных приложений. Сроки создания приложения меньше, дизайн на высоте, тестирование присутствует в полном объеме.
Около полутора лет назад Гугл добавил поддержку Котлин для Андроид студио. Сегодня почти в каждой вакансии Андроид разработчика есть упоминание Котлин. А что если через год каждый разработчик мобильных приложений в требованиях к вакансии будет встречать и требование создавать и внедрять пользовательский интерфейс на Флаттер?