Как стать автором
Обновить
211.5
Surf
Создаём веб- и мобильные приложения

Flutter форкнули и похоронили. Эксперты о Flock, поводах для беспокойства и будущем фреймворка

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров980

Про «смерть» Flutter говорят каждый год, иногда по нескольку раз. Сейчас разговоры об этом получили новый виток — во многом после сокращений в Google и появления форка Flock, который якобы заменит основную ветку.

Разбираем страхи, связанные с фреймворком, и отвечаем на основные вопросы по Flutter и Flock с экспертами. За помощь в написании статьи спасибо ведущим Flutter-инженерам Евгению Сатурову, Михаилу «Fox» Матюнину, Сергею Кольцову и Евгению Коту.

Страх 1. Google любит внезапно закрывать проекты. Flutter попадёт под раздачу

У Google действительно сложилась такая репутация. Многие проекты закрывали, вынуждая клиентов переходить на аналоги — есть целое кладбище проектов Google. Мы не ожидаем, что там окажется Flutter, и вот почему:

  1. Google часто закрывает клиентские проекты, но намного реже технологические. Корпорация создала и активно поддерживает TensorFlow и Kubernetes — важнейшие инфраструктурные проекты. K8s, например, активно используют ЦЕРН, IBM, OpenAI и Wikimedia Foundation. TensorFlow используют Airbus, Intel и Qualcomm. В один ряд с этими технологиями можно поставить и Flutter.

  2. Google сам активно использует Flutter в своих проектах: например, Google Ads и Google Earth.

  3. Flutter сейчас активнее, чем другие технологии с «кладбища Google» в период до закрытия. Рассмотрим похожий проект, который закрыл Google: AngularDart. Компания закрыла этот фреймворк несколько лет назад. Разговоры про «смерть» AngularDart активизировались в конце 2019 года — уже тогда его популярность была невысокой и продолжала падать. Ресурсы с AngularDart Google перераспределил на Flutter Web.

Сравним статистику обоих фреймворков:

Коммитеры AngularDart и Flutter на GitHub
Коммитеры AngularDart и Flutter на GitHub

AngularDart в 2019 году и Flutter сейчас показывают очень разные тренды. У Flutter мы видим стабильность: последние несколько лет число коммитов не снижается.

AngularDart к тому моменту мало кто использовал. Я знаю только одну крупную компанию — Wrike. В такой ситуации сложно назвать фреймворк популярным, а его закрытие неожиданным.

Евгений Сатуров, Head of Flutter в Surf

Компания Wrike ушла с AngularDart, когда столкнулась с существенными ограничениями в работе. Wrike писала, что фреймворк недостаточно развивают, и новые фичи не внедряются. При этом ex-Director of Development в компании Wrike Евгений Кот отмечает, что у Flutter сейчас таких проблем не видно.

Постепенно популярность AngularDart ушла, потому что ничего нового, кроме собственно поддержки Dart, он не мог предложить. У Flutter при этом совсем другая история. Он начинался не как форк, над ним работает множество специалистов, и он является отдельным проектом, предлагающим что-то совершенно новое. Тревожных сигналов того, что что-то умирает или «скатывается», я не вижу.

Евгений Кот, GDE по Flutter и Dart

Свои продукты на Flutter построили многие крупные компании. Среди них BMW, Toyota, Virgin, Xiaomi. Такие гиганты вряд ли инвестировали бы средства в технологию, судьба которой держится на волоске.

Но ведь Google всё равно может закрыть проект — мы и заметить не успеем.

Статистически чаще всего Google закрывал проекты, когда они достигали возраста 4–5 лет. Dart и Flutter уже перешагнули этот порог, а значит, такой риск становится значительно ниже.

График из выступления Сергея Кольцова на основе данных https://killedbygoogle.com/

Но даже если Google прекратит поддержку Flutter, проект останется опен-сорсным. Сейчас его поддерживают специалисты, которые никак не связаны между собой и работают в разных компаниях. Даже бывшие сотрудники Google, которые ушли из Flutter-команды не самым мирным образом, продолжают поддерживать Flutter — например, Ян «Hixie» Хиксон. Такое сложно представить по отношению к технологии, которую не любят.

Плюс, при желании, всю инфраструктуру для разработки можно перенести на своё «железо». Это и pub.dev, и документация, и сам фреймворк. В таком случае ваш проект на Flutter будет независим от изменений в команде Google. Подобным образом собственную инфраструктуру развивает, например, Яндекс.

В Яндексе очень развиты инструменты собственной внутренней инфраструктуры, в том числе для мобильных команд. С появлением Flutter-разработки эта инфраструктура стала постепенно наполняться Flutter-специфичными инструментами и конфигурациями. Сейчас внутренняя инфра поддерживает полный пайплайн CI/CD для Flutter и собственный pub-сервер. На мой взгляд, это показатель высокой автономности фреймворка и его адаптивности к потребителям с любыми требованиями.

Сергей Кольцов, Flutter-тимлид в Яндексе

Страх 2. Google сокращает команду Flutter. Скоро поддерживать фреймворк будет некому

Эффект от анонса нового форка усилился на фоне сокращений в Google в начале 2024. Многие заговорили, что Google теперь выведет все ресурсы из Flutter в другие проекты. 

Давайте объективно: помимо членов команды Flutter, Google сократил и экспертов Python, и сотрудников Google Assistant, и членов команды защиты данных. Часть позиций не устраняются полностью, а перемещаются в Индию и Мексику. Насколько это хорошо по отношению к работникам, оставим за скобками.

Скорее, Google стремится оптимизировать ресурсы. Причем уменьшая не работу над проектом, а стоимость человеко-часов. Сокращают затраты и людей, но далеко не все роли.

Другие крупные компании тоже «пересобирали» команды. Вероятно, это стало следствием сверхактивного роста в период пандемии COVID-19.  В те годы Apple, Amazon, Meta, Google и другие компании увидели подъём спроса на цифровые сервисы и наняли большое количество сотрудников, чтобы развивать свои продукты. Но пандемия закончилась, и люди снова стали меньше времени проводить в цифровых сервисах. Отсюда снижение операционных расходов и оптимизация штатов сотрудников в корпорациях.

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

Евгений Сатуров, Head of Flutter в Surf

Посмотрим на цифры. Google не раскрывает точное число сокращённых позиций и говорит о «нескольких сотнях». В 2024 году Amazon объявил о сокращении 9000 сотрудников, Microsoft сократил более 2500 сотрудников. Apple и Meta тоже в этом списке — точные цифры мы не знаем, но за прошлые 2 года Meta сократила не меньше 21 000 позиций. На этом фоне паника вокруг Google уже не кажется резонной.

При этом по Google Trends мы видим, что Google всё равно волнует людей сильнее
При этом по Google Trends мы видим, что Google всё равно волнует людей сильнее

У Flutter сейчас 182 члена команды с правом коммитить на гитхабе, как обозначил в своём блоге Ян «Hixie» Хиксон, сооснователь Flutter. Вероятно, большая часть этих сотрудников не из Google.

Размер команды Flock мы не знаем. Но знаем, что сейчас они на 24 коммита впереди и на 423 позади основной ветки фреймворка. С такой статистикой непонятно, как команда форка планирует делать все лучше и быстрее, плюс, синхронизироваться с основной веткой Flutter.

Страх 3. Видные лидеры уволились и нелестно отзывались о менеджменте. Там явно дела плохи

Это самая обоснованная претензия. Когда видные деятели и основатели проекта уходят, это всегда вызывает шум. Для имиджа технологии это стратегически плохо, потому что проект теряет свои «лица», за которыми многие следят и к мнению которых прислушиваются.

За 2022–2023 годы команду Google покинули сооснователи Flutter Эрик Сайдел, Тим Снит и Хикси. Хикси после увольнения называл конкретных виновников проблем — middle-менеджеры команды. В западной ИТ-культуре не принято уходить со скандалом, поэтому это действительно взволновало многих. Но при уходе он открыто говорил, что продолжит развивать проект вне гугла.

То, что инженеры уходят, абсолютно нормально. Пока что их заявления и уход никак не повлияли на развитие Flutter. Если посмотреть популярность Flutter на Stack Overflow, можно увидеть стабилизацию роста.

Flutter, React Native и Cordova на Stack Overflow
Flutter, React Native и Cordova на Stack Overflow

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

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

Михаил «Fox» Матюнин, Digitally Inspired Ltd

Но уход «лиц» проекта может плохо сказаться на фреймворке в перспективе. Долгосрочный эффект от этого мы увидим в будущем.

Страх 4. Фреймворк накопил столько проблем и pull requests, что их за всю жизнь не обработать

Создатели Flock говорят, что они не конкуренты Flutter, а союзники. Но при этом обвиняют фреймворк в долгой обработке запросов и неспособности быстро исправить ошибки. Правда ли это?

Мы в Surf не раз контрибьютили во Flutter крупные пакеты. Это всегда проходило не быстро, но без особых проблем, и всегда результат нашего труда доходил до релиза. В целом Flutter в своём нынешнем состоянии нас полностью устраивает: большинство «проблем» решаются собственными виджетами. Если вы сталкивались с тем, что Flutter подолгу игнорирует ваши запросы, расскажите, будем рады изучить ваш опыт.

Евгений Сатуров, Head of Flutter в Surf

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

Статистика на GitHub
Статистика на GitHub

В декабре 2024 года мы видим почти 13 000 открытых тикетов — кажется, что их даже за всю жизнь рассмотреть невозможно. Но многие из таких проблем нормально оставить без внимания, а большинство остальных описывают не критичные проблемы. За первую неделю декабря Flutter-команда замерджила 92 ПР и закрыла 186 ишью, что довольно много.

Стоит учитывать, что в разделе «Issues» встречаются проблемы не только движка и фреймворка, но и всех официальных пакетов, которые не относятся к Flutter напрямую. Например, google_maps_flutter, Firebase или go_router. А если отфильтровать ишью по лейблам «Engine» (движок) и «P1» (первый приоритет), мы увидим всего 30 тикетов. Среди них есть те, которые не исправляют уже несколько лет, но в основном они помечены лейблом «Proposal» (предложение).

Ишью зачастую носят характер «nice to have» или «ну, работает не совсем так, как хотелось бы», но при этом никак не блокируют выпуск релизов и не ухудшают пользовательский опыт.

Михаил «Fox» Матюнин, Digitally Inspired Ltd

Есть и просто бредовые запросы, которых вообще не должно быть. Например, предложение добавить пакет Get X в число лучших пакетов, отмеченных лейблом Flutter Favorite. Этот пакет считается вредным: есть целый ряд причин, по которым не стоит им пользоваться.

Зато сколько проблем закрыли: 88 000 ишью и 57 000 ПР рассмотрели и решили за 6 лет существования Flutter.

Страх 5. Flutter не развивается

Соберём здесь наиболее заметные изменения во Flutter за последнее время.

  • Улучшилась поддержка игр, в том числе за счёт пакета Flame (игрового движка). На Flutter в последнее время перевели некоторые известные мобильные игры.

  • Flutter Add-to-App — инструмент, который позволяет использовать Flutter для написания отдельных экранов, модальных окон, виджетов, а затем встроить их в существующее приложение на Android или iOS.

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

  • Создали Impeller — новый графический движок на замену SKIA. В числе прочего, он позволяет легче и быстрее работать с 3D-графикой. В то время как тот же Kotlin Multiplatform только-только начинает осваивать SKIA, Flutter уже с неё уходит.

  • Выпустили Flutter GPU — API для работы с шейдерами.

  • Появилась интеграция Gemini AI.

К тому же, на фоне некоторых конкурентов Flutter выигрывает по показателям производительности. В то время как React Native только заявляет, что в бете сможет поддерживать до 60 fps, Flutter давно поддерживает 120 fps.

Flutter работает на Android, iOS, iPadOS, Web, Windows, macOS и Linux. Фреймворк официально и неофициально предлагает эмбеддинги под встраиваемые системы телевизоров, носимой электроники, умных колонок, машин, терминалов. Для разных систем сообщество создало множество форков:

  • ОС Аврора — российская операционная система для использования в госучреждениях.

  • Tizen — операционная система для домашней электроники Samsung.

  • Raspberry Pi — одноплатный компьютер.

  • Sony eLinux — Embedded Linux для электроники Sony.

  • Apple TV — цифровой медиаплеер Apple.

  • Атом — российский электромобиль, медиасистема которого написана полностью на Flutter.

Страх 6. Flutter теряет популярность

Сравним активность и популярность аналогичных UI-фреймворков. Смотрим звёзды и форки на GitHub:

Ссылки: Flutter, React Native, Compose Multiplatform

Flutter опережает соперников по обоим параметрам. С 2020 года рейтинг Flutter вырос с 99 000 звёзд до 167 000.

Помимо этого, мы видим 33 913 пакетов Flutter на pub.dev. Топ-10 самых популярных из них скачивали от 4 до 7 миллионов раз. У React Native 1595 пакетов с аналогичным числом скачиваний (кроме самого популярного @tanstack/react-query с 18 миллионов загрузок).

По данным Statista
По данным Statista

Рост популярности до 2023 года показывал только Flutter.

Да, скорость развития Flutter несколько замедлилась, но вряд ли стоит ожидать от зрелого фреймворка такой же скорости коммитов как от недавно созданного. Это значит только то, что он уже занял свою нишу.

Евгений Кот, GDE по Flutter и Dart

Кто реально использует Flutter

На Flutter развивают свои ресурсы уже многие крупные компании:

  1. BMW ушли с натива на Flutter из-за расхождений в версиях для разных ОС.

  2. Nokia разработали картографическое приложение Here WeGo на 10 миллионов пользователей.

  3. Microsoft выпустили поддержку для складного планшета, законтрибьютили во Flutter.

  4. Ubuntu сделали Flutter основным фреймворком для приложений под свою ОС.

  5. В Яндексе некоторые крупные мобильные приложения на миллионы пользователей написаны на Flutter — например, Яндекс Про, Яндекс Драйв, Яндекс Практикум и Яндекс Афиша.

Если вдруг Google всё же прекратит поддерживать Flutter, крупные компании с радостью возьмут себе такой проект под крыло. Об этом говорит и ex-PM Flutter-команды Google Лиа Джаретт. При этом она упоминает, что и её нынешняя команда FlutterFlow тоже готова дальше развивать Flutter, если Google его забросит. И это ещё одна причина, по которой Google вряд ли забросит фреймворк — им незачем отдавать проект, в который они столько вложили.

Страх 7. Появился Flock — нет дыма без огня. У Flutter проблемы

Скорее всего, здесь работает простая логика: разработчики придумали альтернативу — значит, Flutter не давал им желаемого.

Обычно так и есть. Форки Flutter решают разные проблемы: некоторые, например, добавляют поддержку тех платформ, которые официальный Flutter не поддерживает. Среди них Аврора, Tizen, Raspberry Pi, Sony eLinux, Apple TV, и Атом, которые мы перечисляли выше.

Новые форки появляются регулярно — сейчас их более 27 700. Но никто из них не стремится делать «то же, что и Flutter, только лучше». А Flock предлагает именно абстрактное «лучше»: быстрее решать проблемы, минимизировать бюрократию. Как именно и за счёт чего, создатели не объясняют.

Вспомним статистику по Flutter: за 6 лет существования команда закрыла 88 000 ишью и 57 000 ПР. Снизить «бюрократичность» внесения изменений можно только если объём изменений будет небольшим — то есть если форком никто не будет пользоваться. Это означает, что Flock сможет достичь заявленных создателями целей только если не взлетит.

Почему вообще нашумел Flock

Flock официально появился на митапе Flutter в Кремниевой Долине 24 октября. За несколько дней до этого создатель форка выпустил серию постов, в которых объяснял свое решение. Это дополнительно разогнало традиционные ожидания смерти Flutter.

Пока что проект неактивно «лайкают» на GitHub: спустя полтора месяца с анонса форк набрал 60 звёзд. Отслеживают двое.

Рейтинг на GitHub
Рейтинг на GitHub

Все ждут каких-то негативных новостей, и на этой почве форк чуть заметнее среднего вызывает волну обсуждений. Якобы появился новый, «правильный» Flutter, а старый, значит, умирает. Но пока что у них нет ничего кроме анонса — обсуждать тут нечего.

Евгений Сатуров, Head of Flutter в Surf

Подытожим: признаки жизни Flutter

Чтобы убедиться, что Flutter жив, эксперты рекомендуют смотреть на следующие признаки:

Что ждёт Flock

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

Прямо сейчас, спустя месяц от анонса Flock, в организации на GitHub активность остаётся невысокой — с дюжину коммитов суммарно во всех форкнутых репозиториях. Может быть, в будущем это изменится, но пока активность вокруг Flock менее заметна, чем было объявлено.

Сергей Кольцов, Flutter-лид в Яндексе

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

Пользователи r/flutterdev на Reddit настроены скептически
Пользователи r/flutterdev на Reddit настроены скептически

Больше полезного про Flutter рассказываем в Telegram-канале Surf Flutter Team.
Кейсы, лучшие практики, новости и вакансии в команду Flutter Surf в одном месте.
Присоединяйтесь!

А о том, как создавать прибыльные мобильные приложения, говорим в Telegram-канале «Точка приложения». Заходите в гости.

Теги:
Хабы:
+12
Комментарии5
6

Публикации

Информация

Сайт
surf.ru
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия

Истории