ru:https://highload.today/blogs/why-flutter/ ua:https://highload.today/uk/blogs/why-flutter/
logo
Mobile app      21/12/2021

Хайп или революция? Почему мы выбираем писать приложения на Flutter

Сергій Гузенко BLOG

CEO у WEZOM

На протяжении трех лет с интересом наблюдаем за массовой миграцией специалистов и целых проектов мобильной разработки на фреймворк Flutter — он простой, удобный, позволяет писать шустрые приложения как под Android, так и под iOS. На такой основе можно быстро и просто создавать интернет-магазины, онлайн-школы, личные кабинеты клиентов — вообще почти все, что угодно.

Flutter — не первая универсальная платформа в индустрии, но точно одна из самых хайповых.

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

Зачем я об этом пишу? Мы получаем все больше заявок о разработке на Flutter, раз за разом отвечаем на одни и те же вопросы: «Это правда “революция”?», «Это правда так дешево?», «В чем подвох?»

В какой-то момент я собрал у менеджеров часто задаваемые вопросы и пошел с ними к нашим разработчикам. Они рассказали о фишках фреймворка и развеяли несколько мифов.

В чем суть Flutter?

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

Фреймворк очень дружелюбен к разработчикам. Разработка во Flutter ведется с помощью языка Dart, потом написанное компилируется в C++. На выходе получается код с независимым рендерингом: приложение работает словно бы само по себе, ему не важно, какая на устройстве ОС. При этом код все же работает не так быстро, как нативный, но рядовой пользователь этого никогда не заметит. 

Аналогичные фреймворки на сегодня ничего подобного дать не могут. Тот же React Native, который номинально конкурирует с Flutter, на самом деле ему не конкурент, ведь он работает на порядок медленнее.

Деньги и время

Какие преимущества дает разработка на Flutter?

Это дешево. Сделать два приложения по цене одного (за $5-6 тысяч) — это отличное предложение для клиента. Но экономия может быть даже более чем двукратной, потому что SDK Flutter дает разработчикам невиданные ранее возможности. 

Онлайн-курс "Продуктова аналітика" від Laba.
Станьте універсальним аналітиком, опанувавши 20+ інструментів для роботи з будь-яким продуктом.
Дізнатись більше про курс

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

Наш Head of Mobile описывает это более красочно:

«Как идет разработка в том же iOS? Ты разрабатываешь, разрабатываешь, потом запускаешь — не работает! Выключаешь, что-то там исправляешь. Запускаешь. Не работает… А на Flutter это все происходит в реальном времени, поэтому быстрее».

Вместо длительной и сложной разработки отдельных приложений под iOS и Android проект потребует упрощенной разработки одного универсального продукта. Здесь же можно упомянуть отличные инструменты Flutter по работе с анимацией. Создание анимированных элементов нативными средствами обходится чуть ли не в два раза дороже. 

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

Коллектив WEZOM за работой

Когда вам нужен Flutter

Разработка на этом фреймворке хорошо решает типичные задачи, которые клиент возлагает на мобильное приложение. Можно создать интернет-магазин, сервис для изучения языков, маркетплейс — любое решение, которое не требует высокой загрузки и постоянных апдейтов UI. 

Мы на своем опыте убедились, что Flutter отлично подходит для клиентов из таких индустрий. 

E-commerce

Интернет-магазины, приложения брендов и маркетплейсы выгоднее разрабатывать на универсальной платформе. Такие гиганты как Ebay, Alibaba и BMW выпустили новые приложения на Flutter. Наша команда делает на этом фреймворке приложения для сети «М’ясторія», автодилера «Арма Моторс», стартапа ClipClip

Логистика

То же касается и приложений для логистического сегмента. Приложения для работников склада, водителей, курьеров, упаковщиков — все это можно реализовать на Flutter.

Онлайн-курс "Проджект-менеджер в ІТ" від Laba.
Навчіться запускати, контролювати й успішно реалізовувати ІТ-проєкти. Пройти весь шлях проєктного управління на реальному кейсі вам допоможе PMD із 19-річним досвідом в ІТ.
Детальніше про курс

Исключения — ситуации, когда приложению нужно постоянно работать в высокой загрузке, иметь дело с множеством разных API. Скажем, если нужно будет отслеживать на карте движение нескольких сотен грузовиков, нативная разработка будет работать быстрее.

Производство

Тут кроссплатформенная разработка тоже закрывает большинство типичных задач. Хотя эта сфера слишком пестрая, чтобы делать по ней обобщения. Как показал наш опыт с John DeereDeere & Company — американская машиностроительная компания, выпускающая сельскохозяйственную, строительную и лесозаготовительную технику., если в производстве используются, скажем, специфические устройства на Android, то нативные средства могут показать себя лучше. 

Proptech

Сегмент Proptech (технологии в сфере недвижимости) с технологической точки зрения близок к сфере e-commerce. Но если proptech-приложение потребует функционала дополненной или виртуальной реальности, нужно рассмотреть нативную разработку. 

Простота и гибкость Flutter делает его удачным средством для создания MVPMinimum Viable Product — минимально жизнеспособный продукт — рабочий продукт с минимальной функциональностью можно получить всего за четыре месяца, а стоимость разработки составит порядка $5 тысяч. Очень удобно, когда нужно проверить гипотезу или закрыть с помощью приложения небольшую проблему.

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

Когда не нужно использовать Flutter 

Кроссплатформенная разработка — это не магия для сокращения расходов. Как и всякая технология, Flutter имеет ограничения. 

Первый и самый очевидный минус — быстродействие. Да, в большинстве сценариев отставание Flutter от нативного кода незаметно. Но в высоконагруженных приложениях оно влияет на опыт использования.

Второй минус касается работы Flutter с нативными библиотеками, написанными, скажем, под iOS. Нативные API, созданные специально под гаджеты Apple (Core ML, карты, камера, платежи) работают с Flutter через бриджи, которые кодеры пишут самостоятельно. Если приложению приходится совершать много действий с нативными средствами (камера, карты), работа через бридж также съедает немного быстродействия.

Вот как описывают такие ситуации наши разработчики:

Психологічний профорієнтаційний тест для IT-фахівців від Ithillel.
Пройдіть психологічний профорієнтаційний тест для IT-фахівців щоб дізнатися ваші сильні сторони, вподобання і інтереси і з'ясувати, яка IT-спеціальність вам підходить.
Пройти тест

«Делали приложение, там у нас есть кластеры и маркеры, было пять тысяч маркеров на карте. На Flutter это тормозит, потому что карта нативная… Если это нативка, то те же пять тысяч ты не почувствуешь».

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

  • загруженная работа с картами;
  • 3D-графика;
  • AR и VR;
  • сложные игры;
  • банкинг;
  • работа с прокси-сетями;
  • финансовые и криптобиржи.
  • Курс Project Manager від Powercode academy.
    Онлайн-курс Project Manager. З нуля за 3,5 місяці до нової позиції Без знання коду, англійської та стресу.
    Зарееструватися

В таких продуктах используются API и библиотеки, которые пока сложно связать с фреймворком без потери скорости.

Flutter убьет нативную разработку? 

Короткий ответ на этот вопрос — нет. Нативная разработка в ближайшие годы не утратит актуальности, особенно в упомянутых выше сферах. Кроме того, нативные средства не стоят на месте и развиваются по тому же пути, что и Flutter — в сторону упрощения и наглядности разработки (тот же SwiftUI от Apple — фактически аналог Flutter).

Но если говорить о тектонических сдвигах в индустрии — нативная разработка действительно теряет позиции. Уже сегодня 95% мобильных приложений для бизнеса можно реализовать во Flutter. Компания, которая сегодня захочет обновить свое старое нативное приложение, вероятнее всего выберет кроссплатформенную разработку. 

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

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

Читайте также: Как создать приложение на Flutter Web и обойти подводные камни без вреда для проекта

If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.

Курс-професія "Web Design" від Skvot.
Для тих, хто давно хоче опанувати професію вебдизайнера, але не знає, з чого почати.Після 4 місяців навчання — старт в карʼєрі з двома кейсами у портфоліо.
Програма курсу і реєстрація

Этот материал – не редакционный, это – личное мнение его автора. Редакция может не разделять это мнение.

Топ-5 самых популярных блогеров марта

PHP Developer в ScrumLaunch
Всего просмотровВсего просмотров
2434
#1
Всего просмотровВсего просмотров
2434
Founder at Shallwe, Python Software Engineer (Django/React)
Всего просмотровВсего просмотров
113
#2
Всего просмотровВсего просмотров
113
Career Consultant в GoIT
Всего просмотровВсего просмотров
95
#3
Всего просмотровВсего просмотров
95
CEO & Founder в Trustee
Всего просмотровВсего просмотров
94
#4
Всего просмотровВсего просмотров
94
Рейтинг блогеров

Ваша жалоба отправлена модератору

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: