Код
#статьи

Старший iOS-разработчик из VK Евгений Ёлчев: как вкатиться во Flutter и зачем это нужно

Нет, это не песня Rammstein Mutter — это платформа для быстрой разработки мобильных приложений Flutter. И даже рифмы с песней брутальных немцев нет 👹

Иллюстрация: Flutter logo / Wikimedia / Vatjaii / Ambur / Cleanpng / Meery Mary для Skillbox Media

Евгений Ёлчев

об эксперте

Старший iOS-разработчик во «ВКонтакте». Раньше был фулстеком, бэкендером и DevOps-инженером, руководил отделом мобильной разработки, три года преподавал iOS-разработку в GeekBrains, был деканом факультета. Состоит в программном комитете конференции Podlodka iOS Crew, ведёт YouTube-канал с видеоуроками по Flutter. В Twitter пишет под ником @tygeddar.


Ссылки


Я люблю изучать новые технологии, поэтому однажды попробовал Flutter, и он мне понравился. Flutter — фреймворк от Google, который позволяет создавать приложения под все платформы: веб, Windows, Linux, macOS, iOS и Android. А ещё с его помощью можно писать интерфейсы для бортового компьютера Toyota.

Преимущества Flutter

Разработчику писать под Flutter приятно и удобно. Например, с технической точки зрения мне приятнее писать код для него, чем для iOS, потому что инструменты Flutter более developer friendly:

  • Работа IDE с Flutter и Dart — автодополнение и рефакторинг.
  • HotReload позволяет видеть результат изменений сразу же, без повторной компиляции и перезапуска приложения.
  • Удобный менеджер зависимостей и другие тулы.

Плюс я люблю иногда создавать для самого себя утилиты, которые буду использовать в будущем, — а так как я пользуюсь не только Mac и iPhone, то я высоко оценил возможность написать программу один раз и запускать её на всех платформах. Да я даже могу поделиться ею с друзьями, которые используют Android. То есть с Flutter мне не надо писать одну и ту же программу два или три раза под разные платформы.

Flutter хорош тем, что позволяет делать достаточно хорошие интерфейсы. Но они выглядят не так, как нативные. Если сравнить нативное и Flutter-приложение для iOS, то будут существенные отличия — и не в пользу Flutter. Разнятся механики — например, скролл совсем не такой, как в нативных приложениях под iOS. Если человек пользуется iPhone, он, скорее всего, заметит разницу.

Но всё равно уровень приложений, созданных с помощью Flutter, вполне высокий — можно пилить минимально жизнеспособный продукт (MVP), какие-то небольшие приложения и даже серьёзные проекты. Например, если банк не хочет создавать суперидеальное приложение, которое лучше решений конкурентов и поэтому способно само привлекать новых пользователей, а просто стремится предоставить клиентам хороший сервис, то Flutter впишется в проект на ура.

Но если вы начинающий разработчик, то учить Flutter в качестве одного из первых фреймворков я бы не советовал. Вакансий с ним меньше, чем с другими стеками. А вот если вы сравнивали Flutter с iOS и Android и он вам всё-таки понравился, нет причин себе отказывать. В конце концов, пусть вакансий и немного, вам нужна всего лишь одна.

Как освоить Flutter и сколько времени нужно

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

Попутно, конечно, придётся что-то погуглить, почитать дополнительные статьи, позадавать вопросы другим разработчикам. Но всё это уже актуально для advanced level — для начала же достаточно просто изучить документацию. Но я знаю, что не все могут прочесть документацию и сразу начать писать. Поэтому новичкам проще будет взять какую-нибудь книжечку или курс.

Например, бесплатный курс есть на моём YouTube-канале — можно открыть его и начать смотреть уроки, даже если вы ещё ничего не знаете о программировании. Я всё объясняю пошагово: что такое программирование, что такое языки программирования, какие парадигмы программирования существуют — и постепенно перехожу к Flutter, объясняю что это такое и как он устроен.

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

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

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

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

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Python-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована