Flutter это платформа, позволяющая создавать мобильные приложения на iOS и Android, используя один язык программирования.
Так почему же вам пора перестать мучаться и начать делать приложения на Flutter?
Популярность
Это одна из самых популярных Open-Source технологий на рынке, разработчики любят Flutter.
Его главный конкурент - React Native, который широко распространен на рынке, никогда не имел и не будет иметь такой динамики развития на GitHub, как Flutter. Посмотрите на график:
Производительность:
Это очевидно, у Flutter нет никакой прослойки в виде JavaScript, которая будет общаться с нативными компонентами Android и iOS. Вместо этого, Flutter написан на Dart, и весь исходный код прямиком компилируется в нативный машинный код. Если сравнивать с нативными решениями, Flutter в большинстве случаев будет выдавать бесперебойно 60 FPS. Если нужно что-то очень сложное, у вас есть возможность использовать компоненты, написанные на Swift, Kotlin, Java, Objective C и даже на С++ (https://flutter.dev/docs/development/platform-integration/c-interop)
Скорость разработки
Во первых, вы разрабатываете сразу на 2 платформы: Android+iOS, а в перспективе (Flutter еще очень молод) должна добавиться поддержка web, MacOS, Windows, Linux. Чем больше, тем лучше.
Во вторых: Hot Reload. Я предполагаю, что ваша компиляция на iOS и Android занимает 5 минут и более. 10 компиляций в день и 2 часа потеряно. Зачем вообще ждать?
Для того, чтобы посмотреть результат своей работы, вам не нужно ежедневно терять часы на ожиданиях, достаточно 1 секунды и результат появится на экране мобильного.
"У нас есть Instant Run" - возразят Android разработчики.
Отвечаю - Hot Reload быстрее, стабильнее, умеет работать в автоматическом режиме и сбрасывать состояние. Сравните и поймете о чем я.
Простота
Свое первое приложение вы сможете сделать в первый же день.
То, как старается команда Google и Flutter, постоянно улучшая платформу, поражает. Взгляните на документацию (https://flutter.dev/docs), на примеры(https://flutter.dev/showcase)
Что для вас важно при разработке мобильных приложений?