Как стать автором
Обновить

Почему я верю в востребованность кроссплатформы и Flutter в частности?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.8K
Всего голосов 8: ↑7 и ↓1+14
Комментарии10

Комментарии 10

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

Не просто максимально погружённый, а погружённный на столько чтобы покинуть Гугол в котором он Flutter и основывал, одним из. И в статье, пусть и очень мягко, сказано - над Flutter работает слишком мало народа. А перед этим Hixie опубликовал другую статью https://ln.hixie.ch/?start=1700627373&count=1 и она заставляет с осторожностью воспринимать

На наш взгляд, фреймворк уже прошел тот период своего развития, когда он мог попасть на кладбище проектов Google.

Кстати, если и убивать Flutter, то как раз сейчас - ведь

Flutter не стоит на месте.

и как только Impeller позволит создать хоть какой-то 3D игровой движок, убивать Flutter станет намного сложнее - очевидных слабых мест не останется. Вопрос с WebAssembly, на первый взгляд, Flutter порешал только что.

Чем ответит KMP на перечисленные выше вызовы?

При прослушивании двух основных презентаций I/O фоном, Flutter упоминался один раз - строго как ещё одно место куда можно воткнуть чудодейственный AI. KMP получил примерно столько же внимания, но без AI и по делу.

Я тоже не Ванга, но что-то подсказывает что KMP рядом с Kotlin Native - это слишком сложно для восприятия. Если Kotlin поправит маркетинг и реально выйдет инструментарием на уровень средства реализации бизнес логики на всех платформах, то это будет достойный ответ.

Как на ваш взгляд будет развиваться мировой рынок мобильных ОС?

Я считаю, что нынешние лидеры заигрались и рынок действительно будет развиваться. Есть Китай, и если он останется тоталитарным, то возможно всё. Если не останется - то достаточно убрать W^X политику, разрешить файловый доступ к SD карте и как-то обеспечить выполнение Линукс приложений хотя бы командной строки, хоть самим хоть Termux поддержать - и будет захвачен надёжный плацдарм с которого можно потеснить сегодняшних лидеров. Кто-то должен это сделать - или Хуавей, или Россия, или ещё кто-то, свято место не бывает пусто. Но вопрос скорее политический чем технический или рыночный.

Я согласен с руководством Микрософт

Ниже Эппл есть ровно одна ниша.

Стараниями Гугол ниже Андроид появилась ещё одна.

Каким вы видите развитие технологий для кроссплатформенной разработки?

Кажется, я уже писал про Вангу... В представляющейся мне грядущей макроэкономической обстановке бороться за жизнь будут только полностью кросс-платформенные предложения - Windows, macOS, Linux, iOS, iPadOS, Android, HTML 5, WebAssembly, игры. Flutter почти там. Основанное на JavaScript уже там, но сильно уступает по инструментарию, можно сказать иначе - по качеству.

Выстрелить может что угодно - Rust, С++, Go, C#... доработать инструментарий и им всем остаётся немного. Главный имманентный недостаток Flutter, отсутствие у Dart независимой базы способной безусловно гарантировать выживание, никуда не девается, для всех остальных - это зацепка. Наименьшие шансы у Kotlin - он под контролем не имеющей существенных ресурсов JetBrains.

Не надо убивать Flutter, пожалуйста!

Будет жить нашими стараниями и молитвами :)

Ответ на вопрос "Почему я верю ... " дан уже достаточно давно. "Верую, ибо нелепо"

Надо еще учесть Compose Multiplatfrom от того же Jetbrains и Google.
Я сам сейчас очень много пишу на Flutter но Compose развивается семимильными шагами. Пока не готов менять Flutter на Compose так как Compose еще не в релизе но активно наблюдаю за ним и представляет интерес так как сам пришел во Flutter из Android разработки примерно 3 года назад и активно присматриваюсь к тому что может заманить обратно на знакомый стек разработки.

Давайте сравним молодой фреймворк на основе ваших же аргументов.

Арихтектура - практически та же самая архитектура с рендером на собственном движке и возможность запускать в вебе.

Сообщество - Compose Multiplatform калька с Jetpack Compose и по факту потенциально то же самое сообщество Android разработчиков которые смогут писать не только под Android с теми скилами что у них уже есть. Им не надо учить новый язык и принципиально новый фреймворк что бы писать на релизе на Compose Multiplatform.

Экономический фактор. Здесь выигрывает Compose так как принять решение о миграции будет сильно проще - Android разработчики могут начать писать общий код на своем родном языке/фреймворки.

Одна команда вместо двух. Аналогично. При чем не обязательно нанимать новую если есть Android разработчики

Производительность - возможно сейчас здесь пока выигрывать Flutter.

Поэтапный подход. Аналогично Flutter

Поддержка многообразия. Аналогично Flutter (включая Web)

Тут есть и другие факторы. Kotlin активно используется и на бекенде и это может стать решающим при построении BDUI (ради шаринга общей логики на клиенте и сервере/тестов) и т.д. Dart в этом плане только только начинает свой путь и сообщество Dart бэкенд разработчиков гораздо меньше чем Kotlin бекенд разработчиков. Jetpack Compose как и Kotlin уже давно стали основным фреймворком/языком разработки под Android.

То что JetBrains разрабатывает Compose не сильно мешает так как тот же Kotlin - основной язык который продвигается Google для разработки под Android, тоже был с нуля полностью разработан командой JetBrains

Пока самое большое преимущество Flutter - то что Compose не в релизе, но тем не менее маленькие проекты на нем уже активно пишутся

Ну а на Dart/Flutter, будет проще перейти React/Vue/Angular, в общем, фронтенд разработчикам, поэтому здесь мне кажется, кому то молоток, кому то пассатижи(:

На мой взгляд Flutter и compose гораздо ближе между собой нежели фронтенд фреймворки и flutter. Фронтенд фреймворки имеют в своём арсенале мощный и гибкий html/css верстку, что даёт возможность проще и гибче нарезать компоненты, задавать независимо стили, намного проще работать с текстом и т.д. и т.п. При этом не так хорошо интегрированы с OS и больше тормозят так как работают в браузере. В целом мой опыт перехода между Flutter <-> и compose был намного проще чем между фронтенд и мобилкой. Ну и те кто знают recat скорее перейдут на react native а не на flutter

Мне кажется это у всех по разному. Я перешел с React на Flutter, просто когда выбирал на чем писать кроссплатформу, увидел что React Native просаживает по скорости, и сделал выбор в пользу flutter. И кстати достаточно быстро просек фишку (понятно что тонкости реактивного программирования можно еще изучать месяцами, а то и годами, но приложеньки уже с таким уровнем можно вполне писать).

Про гибкость, извините, не соглашусь, во Flutter можно делать все тоже самое, да, отличается принцип рендеринга дерева компонентов/виджетов, но это не значит, что веб гибче flutter. У меня даже сложилось впечатление, что flutter в чем-то гибче.

Про близость тоже спорно, мне кажется это тоже у кого как. Dart ведь почти копия java-script во многих моментах (его улучшенная версия, если послушать гугл). Посмотрите на Promise в JavaScript и на Future в Dart. Event Loop есть и там и там. Компонентный подход? Тоже и там и там (:

Спасибо за комментарий!

Сразу хочу сказать - я не отменяю ни KMP (далее и везде под KMP подразумевается он сам и все что рядом с ним) ни Compose никоим образом. Это хорошие и перспективные технологии, которые найдут свою нишу 100%. Но с некоторыми вашими высказываниями я не согласен.

Архитектура. В этом разделе я говорил не о том, как происходит рендер, а о том, как можно добавить новый build target для конкретной технологии. В случае с KMP добавление нового таргета - прерогатив JetBrains. В случае же с Flutter, таргет можно поддержать самостоятельно, при наличии головы на плечах.

Количество команд. При миграции на KMP вы не избавляетесь от необходимости содержать IOS команду. Итого их уже две. Flutter, по понятным причинам, решает эту проблему.

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

Касательно kotlin на бекенде... Как мне кажется, это либо свежие проекты, либо те проекты я которые достаточно хорошо поддерживались в рамках актуального стека. Вижу лица людей, у которых легаси-код на Java 6 - такие неповоротливые машины очень сложно поставить на новые рельсы.

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

А как там вертикальный скролинг на iOS, все хорошо?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий