Flutter - это восходящая звезда разработки мобильных приложений в 2019 году, даже если некоторые нюансы еще не решены. Пришло время руководителям проектов и компаниям серьезно относиться к Flutter как к альтернативе React Native.

Но у нас уже есть React Native

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

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

Изделие является прототипом

В течение многих лет создание продукта проходило через тот же процесс проектирования, который создает визуальный прототип в любом программном обеспечении для дизайна, которое сейчас модно. Это приводит к медленным повторениям и постоянным задержкам.

На практике команда дизайнеров представляет свою работу во время демонстрации. Заинтересованные стороны вносят свой вклад и, вероятно, не получат еще один раунд обратной связи до следующей встречи. Это становится блокировщиком, замедляющим работу всего внешнего интерфейса проекта.

Кроме того, дизайн становится тупиком, поскольку другой человек должен перенести дизайн на разметку. Несмотря на то, что было много шума при проектировании с использованием CSS и пропуске Sketch или его эквивалента, мне пока не приходилось видеть эту работу ни в чем, кроме самых простых проектов.

Flutter обходит всю проблему CSS, полностью удаляя CSS и превращая все в виджет. Внесение серьезных изменений в конструкцию - дело секунд. Я лично менял анимацию и макеты во время встреч с заинтересованными сторонами при презентации прототипа приложения. Это сокращает количество дней в итерационном процессе.

Вот как легко создать пользовательский интерфейс для динамического списка во Flutter.

Вишенка на торте заключается в том, что каждую строчку кода, которая используется для создания прототипа, можно использовать в конечном продукте. Больше не нужно тратить недели на создание интерактивных прототипов, которые никогда не станут частью конечного продукта.

Дротик очень легко подобрать

Первая реакция, которую я получаю, когда упоминаю Flutter, - это закатанные глаза при мысли, что мне придется изучить Dart. Я понимаю скептицизм - изучение другого языка и фреймворка - это не ответ на усталость от JavaScript.

Тем не менее, опытные разработчики из моей команды освоили Dart и Flutter за считанные дни. Я, как не разработчик, менее чем за неделю смог создать рабочий прототип, который включал OCR и другие расширенные функции благодаря некоторым отличным библиотекам, выпущенным Google.

Повторюсь, вот как просто создать форму ввода:

Если вы уже являетесь ниндзя JavaScript, это не так важно. Вероятно, вы изначально не собираетесь ускорять время разработки, покидая React Native.

Хеджирование ставок на будущее

Нет никаких сомнений в том, что Flutter - молодой фреймворк. По мере его развития многие из текущих недостатков и недостатков будут устраняться. С другой стороны, Flutter - это залог будущего, которым не является React Native, особенно когда ходят слухи о том, насколько Facebook привержен React Native.

Мы знаем, что Flutter изначально будет работать на Fuchsia. Конечно, детали того, что это влечет за собой, до сих пор окутаны тайной, но нетрудно представить себе, что Fuchsia будет работать на всем: от носимых устройств до телевизоров, телефонов и, возможно, даже настольных компьютеров. Я готов сделать ставку на то, чтобы опередить Fuchsia и иметь готовые к запуску приложения. Хотя Google подтвердил, что приложения Android будут работать на Fuchsia, у нас нет подробностей об обратной совместимости и о том, как это будет разворачиваться.

Пример владельца продукта для Flutter

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

  1. Создание прототипов намного проще и быстрее, чем при разработке традиционных приложений.
  2. Сообщество потрясающее. Легко быстро найти нужную информацию, и уже существует множество решений, которые вы можете использовать.
  3. Ваш пул разработчиков намного шире. Разработчиков на React Native мало. Любой достаточно компетентный разработчик может быть запущен в Dart в короткие сроки.
  4. Вы получаете собственные приложения как для iOS, так и для Android.
  5. Когда Fuchsia выйдет в свет, вы будете потрясены будущим.

Кто уже использует Flutter?

Flutter уже используется компаниями, от таких гигантов, как Alibaba, до стартапов. Взгляните на витрину и убедитесь сами.

Попробуй Flutter

Лучший способ проверить флаттер - это взять небольшой проект и сразу погрузиться в него. Именно это я и сделал. Повторюсь, я владелец продукта, а не полноценный разработчик. Тем не менее, мне удалось создать рабочий прототип.

Я знаю, что могу показаться здесь излишне оптимистичным и даже противоречить общепринятому мнению. Тем не менее, мои выводы основаны на личном опыте. Мы с опытным разработчиком React Native смогли собрать приложение Flutter в свободное время менее чем за два месяца.

Первоначально опубликовано на blog.eteam.io