Как Flutter Web может снизить стоимость разработки вашего приложения

Опубликовано: 2020-05-15

Вы придумываете идею продукта, но вам нужен план, как представить ее миру. Чтобы представить свой сервис как можно большему количеству пользователей, вам нужны мобильные и веб-приложения. Но ваше краткое исследование жестоко — хотя у вас есть только одна узкая идея , для нее требуются три разных приложения (Android, iOS, веб), три разных типа специалистов (Kotlin, Swift, JavaScript) и, возможно, даже три разных поставщика.

Но вы не первый, кто оказался в этом положении. Создатели таких приложений, как Airbnb, Uber Eats и Discord, тоже стояли там, где вы сейчас находитесь. Все они решили использовать кроссплатформенное решение. И похоже, что в 2020 году самым важным игроком в этой дисциплине будет Flutter.

Что такое флаттер?

Flutter — это фреймворк Google, который позволяет создавать мобильные приложения для iOS и Android с использованием одной кодовой базы. Первая стабильная версия Flutter была выпущена в конце 2018 года. Компания Google создала Flutter в ответ на таяние бюджетов мобильных приложений и растущую популярность React Native, став его основным конкурентом.

Flutter привлекает внимание к Dart, объектно-ориентированному языку от Google, который, по мнению многих специалистов в предметной области, является будущим всех мобильных, веб- и настольных разработок. По сравнению с JavaScript, который использует React Native, Dart полностью объектно-ориентирован и строго типизирован. Что это значит для вашего бизнеса? Код, поставляемый в Dart, гораздо более устойчив к ошибкам и намного проще в обслуживании даже в течение многих лет в меняющейся команде.

Flutter для Интернета покоряет браузеры

Как все это транслируется в Интернет? 2020 год — важный год для Flutter, потому что он приносит новый вызов. Фреймворк вот-вот завоюет большие экраны и веб-браузеры. За последние два года, помимо Flutter, был исследовательский проект под названием Hummingbird , который должен был генерировать веб-приложения из того же кода Flutter , который используют приложения для iOS и Android.

Проект созрел, и год назад основная команда включила его в структуру, и в настоящее время (по состоянию на май 2020 года) он все еще находится в бета-ветке. Что это значит? Даже сегодня можно создавать веб-приложения с помощью Flutter, и команда Google может объявить его стабильным в любой момент. Один код, одна технология, три зайца одним выстрелом . Похоже, ваш проект идеально подходит.

Сценарий для кроссплатформенных приложений довольно распространен. Многие популярные и известные решения использовали эту модель для экономии времени и денег. Walmart, Soundcloud и Bloomberg выбрали кроссплатформенные мобильные приложения. Бьюсь об заклад, что у вас есть хотя бы одно кроссплатформенное приложение на вашем мобильном телефоне.

Значок службы кроссплатформенной разработки

Интересуетесь кроссплатформенной разработкой?

Учить больше

Однако возможность создания веб-приложений попутно открылась нам всего несколько месяцев назад. Хотя ни один из крупных брендов еще не решился на этот шаг, сегодня ясно, что рано или поздно он станет отличным инструментом для стартапов и быстрых PoC.

Преимущества Flutter для вашего приложения

Снижение затрат на разработку

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

Однако это не означает, что вы сможете ограничить количество трат в три раза. Часто немного сложнее предоставить определенную функциональность для кроссплатформенности. По моему опыту, есть что-то вроде кросс-платформенного множителя, равного 1,2-1,5. Это означает, что если функциональность требует X часов разработки для одной платформы, это займет (1,2-1,5) * X, когда речь идет о кроссплатформенности. Тем не менее, x1,5 по сравнению с x3 может быть выигрышным случаем для вашего бюджета.

Более быстрая разработка приложений

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

Более простой процесс обслуживания

Кроме того, имейте в виду, что произойдет, когда ваше приложение, наконец, добьется успеха. Когда дело доходит до обслуживания, гораздо проще поддерживать приложение с одним специалистом по Dart/Flutter . Ваш бизнес может быть не в состоянии найти задачи для трех разных разработчиков на полный рабочий день, просто поддерживая код. Точно так же любой дисбаланс в их навыках приведет к изменению темпа работы.

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

Flutter для веб-рисков

Разработка технологических вопросов

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

Исключения веб-приложений

Другая проблема заключается в том, что даже если вселенные приложений для Android и iOS очень похожи, а кодовая база в большинстве случаев одинакова на 95-100%, это может не относиться к браузерной версии. Нижний ящик листа, нижнее меню вкладок или горизонтальные карусели — отличные шаблоны мобильного UX, которые плохо применимы в Интернете. Часто вам нужно создавать исключения только для веб-приложения . Архитектурный дизайн часто должен быть совершенно другим для мобильных устройств и веб-сайтов. В самом начале работы неплохо устроить круглый стол между дизайнерами и разработчиками. Позвольте им поделиться своей точкой зрения и попытаться прийти к консенсусу, особенно если вас волнует ваш бюджет и сроки.

Флаттер против React Native

Но является ли Flutter для Интернета вашим единственным выбором? Конечно нет. Его наиболее важной альтернативой является React Native. React Native — это конкурентная среда, которую Facebook изобрел и поддерживал за несколько лет до Flutter. Он позволяет вам делать то же самое — создавать все приложения для iOS, Android и веб-приложений (аналогично Flutter за относительно короткое время).

Отчет о будущем разработки мобильных приложений

Узнайте, что ждет мобильные приложения в будущем

Получите отчет бесплатно!

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

  • Если вас особенно волнует пользовательский интерфейс, связанный с жестами (пролистывание, перетаскивание, выдвижение ящиков и т. д.), то Flutter будет лучшим выбором из-за его архитектуры и поддержки жестов на нативной стороне. RN иногда изо всех сил пытается обеспечить хорошее сочетание жестов и анимации.
  • Если Интернет является ключевой точкой взаимодействия для вашего бизнеса, выберите React Native. RN создает браузерное приложение, намного более близкое к нативным продуктам, и вы можете отлаживать его с помощью нативных инструментов. С другой стороны, Flutter для веб-проектов не транспилируется в типичный DOM и требует адаптеров.
  • Если ваше приложение будет поддерживаться и развиваться в течение многих лет (или команда, работающая над ним, может со временем меняться), тогда Flutter и Dart могут быть лучшим решением.
  • Если ваше приложение предполагает использование чуть более сложных механизмов (Bluetooth, биометрия, геолокация) или внешних интеграций (платежи, социальные сети), React Native существует дольше и имеет гораздо более широкий спектр библиотек. Экосистема Flutter for Web растет с каждым месяцем, но тем не менее перед каждым проектом в ней должно предшествовать исследование доступных библиотек.

Хотите получить больше информации об этих двух широко популярных фреймворках? Посмотрите наше сравнение React Native и Flutter!

Подведение итогов

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

Выпуск значка продукта

Создайте свое следующее приложение с помощью Flutter

Давайте работать вместе

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

Звучит многообещающе?

Хотите знать, будет ли кроссплатформенная разработка хорошим решением для вашего бизнеса? Свяжитесь с нашей командой и получите оценку вашего проекта.