Код
#статьи

Кто такой Flutter‑разработчик, что он должен знать и сколько он зарабатывает

Разбираемся, зачем изучать Flutter в 2022 году и какие конкуренты есть у платформы от Google.

Иллюстрация: ALex Rodwell / Wikimedia Commons / Colowgee для Skillbox Media

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

Представьте, что вам надо сделать аппку сразу под две популярные операционки для смартфонов, а ещё поддерживать его веб-версию и, например, десктопное приложение для Мака и Винды. Если бы вы писали приложение отдельно под каждую платформу, вам, скорее всего, пришлось бы собрать команду из специалистов как минимум по Swift, Kotlin, JavaScript, C#. Да ещё и мучиться с переносом дизайна под каждую платформу, поддерживать и обновлять минимум четыре кодовые базы.

С Flutter всё немного проще: вы нанимаете команду Flutter-разработчиков и собираете все приложения на нём. Да, есть нюансы — некоторые хитрые элементы iOS точно придётся писать на Swift (такая уж у Apple экосистема), но в сравнении с четырьмя кодовыми базами это почти пустяк. Flutter разрабатывается компанией Google, так что с Android он дружит куда лучше, чем с iOS.

Из чего состоит Flutter

Первая версия Flutter вышла в 2015 году, но с ней можно было собирать приложения только под Android. Со временем Flutter оброс «мясом», и вот что теперь находится у него под капотом.

Язык программирования Dart. Он позиционируется в Google как конкурент JavaScript, но фактически стал популярен только в экосистеме Flutter. Сам язык C-подобный, поддерживает объектно-ориентированную парадигму, в его составе есть сборщик мусора. Он может компилироваться в нативный код или в JavaScript.

Движок Flutter. Основная его часть написана на C++, а сам движок дружит с графической библиотекой Google Skia и умеет взаимодействовать с SDK для конкретных платформ — например, Android или iOS.

Библиотека Foundation. Она написана на Dart и предоставляет разработчикам базовые классы и функции, которые нужны для создания приложений на Flutter.

Наборы виджетов и средства разработки (Flutter DevTools). В составе Flutter есть два набора виджетов, которые соответствуют виджетам Material Design от Google и Cupertino от Apple.

Flutter поддерживается популярными IDE и редакторами кода:

  • IntelliJ IDEA;
  • Android Studio;
  • Visual Studio Code;
  • Emacs.

Конкуренты Flutter

У Flutter есть сильные конкуренты, которые тоже играют на рынке кросс-платформенной разработки и за которыми тоже стоят сильные IT-компании:

  • React Native от Facebook. Основан на библиотеке React, надо знать JavaScript. Очень популярное решение для кросс-платформенной разработки.
  • Xamarin от Microsoft. Надо знать .NET, C#/XAML. Разработчики отмечают, что Xamarin постепенно теряет рынок.
  • Kotlin Multiplatform Mobile от JetBrains. Это основанный на Kotlin SDK для кросс-платформенной разработки. Пока проект находится в стадии альфа-тестирования, но на него уже обращают внимание крупные IT-компании — например, команда «Яндекс.Диска».

Перспективы Flutter

За Flutter стоит Google, а это не только IT-гигант, но и разработчик Android, так что пока перспективы платформы выглядят довольно радужно. Регулярно выходят новые версии Flutter и Dart, Google активно промоутирует технологию, даёт самым активным участникам Flutter-сообщества шильдики GDE и на собственном примере показывает, что Flutter — классная технология. Например, в августе 2021 года компания переписала приложение Google Pay на Flutter и запустила его в Индии. В планах — масштабирование приложения на другие страны. Также на Flutter переведены Google Assistant, Google Ads и Google Stadia.

Но не одним Гуглом жив Flutter, его уже используют довольно известные компании: eBay, Toyota, Shein, «Яндекс», Airbnb, Uber, BMW, Alibaba, New York Times, Tencent, Groupon, Philips, Baidu, Amazon, ClickUp, SpaceX.

Конечно, все мы знаем, что Google любит «хоронить» технологии и сервисы, которые не смогли добиться серьёзных успехов, — один энтузиаст даже собрал из них целое ностальгическое кладбище. Однако, судя по всему, Flutter это пока не грозит. Например, по данным Statista, он занимает седьмое место в рейтинге самых популярных фреймворков (не веб-фреймворков).

Скриншот: Statista / Skillbox Media

В исследовании Stack Overflow за 2021 год Flutter и Dart также показывают хорошие результаты. Среди не-веб-фреймворков Flutter занимает второе место:

Скриншот: Stack Overflow / Skillbox Media

Dart же прочно обосновался на седьмом месте в категории «любимые языки программирования» и уступает только сладкому как Гослинг Rust, Clojure, TypeScript, Elixir, Julia и Python — в общем, вполне достойным соперникам.

Скриншот: Stack Overflow / Skillbox Media

Вакансии и требования к разработчикам разных грейдов

Чтобы понять, чего ожидают компании от Flutter-разработчиков разного уровня, мы изучили вакансии на «Хабр.Карьере» и HeadHunter. Интересно, что по количеству упоминаний в вакансиях Flutter почти не уступил Android и iOS.

Данные действительны на май 2022 года
Инфографика: Skillbox Media

Навыки Junior-разработчика на Flutter

  • Понимание принципов ООП.
  • Знание Dart и Flutter.
  • Базовое знание нативных платформ.
  • Опыт работы с системами контроля версий (Git).
  • Знание архитектурного паттерна Bloc и опыт работы с ним.
  • Приветствуется знание Android SDK / iOS SDK.
  • Приветствуется знание Kotlin/Swift.
  • Опыт разработки клиент-серверных приложений.
  • Понимание работы Bluetooth, опыт работы с Bluetooth в OS Android.
  • Знание основ дизайна мобильных приложений.
  • Умение работать с Figma или Sketch.
Пример вакансии Junior-разработчика на Flutter с зарплатой от 50 до 100 тысяч рублей
Скриншот: «Хабр Карьера» / Skillbox Media

Навыки Middle-разработчика на Flutter

  • Опыт разработки приложений на языке Dart с применением фреймворка Flutter.
  • Умение работать с системой контроля версий Git.
  • Знание английского языка на уровне чтения технической документации.
  • Хорошее знание TypeScript и JavaScript (язык программирования).
  • Опыт работы с Node.js (программное обеспечение).
  • Опыт разработки под Android или iOS.
  • Понимание HTTP, REST, JSON; WebSocket, SignalR.
  • Знание алгоритмов и структур данных.
  • Опыт работы с Figma.
  • Знание и понимание различных архитектурных паттернов (Provider/Bloc/etc.).
  • Опыт работы с GetX, Redux, WebSockets и REST API.
  • Опыт отладки плагинов на Swift/Objective-C/Kotlin/Java.
  • Знание гайдлайнов Cupertino/Material.
Пример вакансии уровня Middle с зарплатой от 200 до 300 тысяч рублей на руки
Скриншот: сайт HeadHunter / Skillbox Media

Навыки Senior-разработчика на Flutter

  • Серьёзный опыт разработки высоконагруженных приложений.
  • Понимание Agile/Scrum.
  • Уровень английского B2–C2.
  • Опыт мобильной разработки (Android/Flutter/iOS/React Native).
  • Уверенные знания Flutter/Dart.
  • Глубокий опыт работы с сервис-ориентированной архитектурой (понимание REST и OpenAPI/Swagger).
  • Два или более приложения для iOS/Android, разработанных с помощью Flutter, в портфолио. Либо от одного мобильного приложения в Google Play или App Store.
  • Глубокое понимание полного жизненного цикла мобильной разработки — включая автоматизированное тестирование и сборку.
  • Умение писать читаемый код, создавать обширную документацию для существующего кода.
  • Коммерческий опыт разработки на Flutter от трёх лет;
Пример вакансии уровня Senior с зарплатой от 300 тысяч рублей
Скриншот: «Хабр Карьера» / Skillbox Media

Есть и вакансии, где знание Flutter рассматривается как преимущество, а не как обязательное требование.

Пример вакансии Android-разработчика уровня Middle с заработной платой от 80 тысяч рублей
Скриншот: «Хабр Карьера» / Skillbox Media

Некоторые компании ищут стажёров с базовыми знаниями программирования и желанием изучать Flutter.

Пример вакансии на двухмесячную оплачиваемую стажировку с перспективой трудоустройства
Скриншот: сайт HeadHunter / Skillbox Media

Как и всегда, уровень заработной платы зависит от уровня и опыта.

Где обучиться Flutter-разработке

Если у вас уже есть опыт разработки приложений, можете попробовать освоить Flutter самостоятельно. Для начала можно изучить официальный туториал и подписаться на YouTube-канал Flutter. Из книг можно порекомендовать популярные «Flutter на практике» Франка Заметти и «Flutter in Action» Эрика Уиндмила.

Также советуем вступить в профильные чаты в Telegram: «Flutter Developers — русскоговорящее сообщество» и «Dart & Flutter». Там можно спросить совета и обсудить то, что покажется вам непонятным во время обучения.

Также технологию можно освоить на курсе «Профессия Flutter-разработчик» от Skillbox.


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

Курсы за 2990 0 р.

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

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

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