Что это простыми словами

Flutter — это инструмент для создания мобильных приложений, которые работают одновременно на iPhone и Android. Пишешь код один раз — получаешь приложение сразу для обеих платформ.

Аналогия: как универсальный переходник для розеток, который подходит к любой стране. Вместо того чтобы делать два отдельных приложения (одно для iOS, другое для Android), разработчик делает одно приложение на Flutter, и оно запускается везде.

Flutter создан Google. Помимо мобильных платформ, на нём можно делать приложения для веб-браузеров и компьютеров (Windows, macOS, Linux), но мобильные устройства — его основная специализация.

Официальное определение

Теперь, когда суть понятна, вот как Flutter описывают в вакансиях и документации. Эту формулировку вы встретите у заказчика и в резюме.

«Flutter — кросс-платформенный UI-фреймворк с собственным движком рендеринга для создания нативных приложений на iOS, Android, web и desktop из единой кодовой базы на языке Dart».

Разберём по словам. «Кросс-платформенный» — работает на разных операционных системах из одного кода. «UI-фреймворк» — инструмент для создания интерфейса приложения. «Нативные приложения» — полноценные приложения, которые устанавливаются на устройство, а не веб-сайты. «Единая кодовая база» — один и тот же код запускается на всех платформах. «Собственный движок рендеринга» — Flutter сам рисует интерфейс с нуля, не используя встроенные элементы системы, поэтому приложение выглядит одинаково везде. «Dart» — язык программирования, созданный специально под Flutter.

Зачем нужен и какую задачу решает

Без Flutter компании пришлось бы нанимать две команды: одну для iOS (Swift или Objective-C), другую для Android (Kotlin или Java). Каждую функцию нужно делать дважды, каждую ошибку исправлять в двух местах, поддержка — в два раза дороже.

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

К кому относится: язык, специальность, экосистема

Flutter относится к специальности Mobile Developer Cross-platform — кросс-платформенный мобильный разработчик. «Flutter-разработчик» — это человек, который делает мобильные приложения именно на Flutter.

Работает на языке Dart. Это язык, созданный Google специально для Flutter. Знать Flutter, не зная Dart, невозможно.

Вокруг Flutter выросла своя экосистема — набор библиотек-спутников, которые вы постоянно будете видеть в резюме рядом с ним:

С чем взаимозаменяем

Flutter конкурирует с другими кросс-платформенными решениями: React Native (от Facebook/Meta, на языке JavaScript), Xamarin (от Microsoft, на C#), Ionic, Kotlin Multiplatform. Все они решают одну задачу — создание приложений для нескольких платформ из одного кода.

Но они НЕ взаимозаменяемы при найме: Flutter-разработчик не равен React Native-разработчику. Подходы разные, языки разные (Dart против JavaScript), экосистемы разные, опыт почти не переносится. Переход между ними занимает месяцы.

А вот внутри мира Flutter выбор библиотеки для управления состоянием (Bloc, Riverpod, GetX) непринципиален: кто работал с одной, быстро освоит другую. Это не повод отбраковывать.

Что не путать

Насколько это важно при отборе

Короткий ответ: это жёсткий фильтр.

Фреймворк — это «школа». Flutter, React Native и нативная разработка (Swift для iOS, Kotlin для Android) устроены по-разному, и опыт между ними почти не переносится. Предлагать React Native-разработчика на вакансию с Flutter — почти всегда ошибка: человеку понадобятся месяцы, чтобы выйти на прежнюю продуктивность, и это не просто изучение нового синтаксиса — это другой способ мышления. Отсеивать кандидатов по фреймворку — нормальная и правильная практика.

Но не переносите эту строгость на уровень ниже. Библиотеки внутри Flutter (Bloc, Riverpod, GetX для управления состоянием; GoRouter и auto_route для навигации) взаимозаменяемы, и требовать конкретную — ошибка. Правило простое: по фреймворку отсеивать можно, по библиотекам внутри него — нет.

Отдельное уточнение: если кандидат знает Flutter, но не работал с конкретной библиотекой из вашего стека (например, у вас Riverpod, а у него GetX), это обычно не проблема — освоение займёт несколько дней.

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