Пользователям нужны удобные мобильные банковские приложения «не хуже, чем у Сбера или Тинькофф». А Тинькофф и Сбер уже переросли само понятие «банк» — по сути, это зрелые IT-компании с банковскими лицензиями. Как за ними угнаться остальным?
На мобильную разработку нужны огромные бюджеты, сильные разработчики и технологии, которые позволят масштабироваться под постоянно растущие и меняющиеся потребности банковского сектора. Но найти и удержать сильную команду мобильной разработки сложно. Рынок перегрет, разработчиков, особенно для iOS, катастрофически не хватает, а их недостаток может оказаться «бутылочным горлышком» для развития продукта.
Важный фактор — время, которое продуктовая команда тратит на реализацию и запуск в продакшен идей. Приложения ведущих банков обновляются и обрастают новыми возможностями очень быстро. Например, Альфабанк обновляет iOS приложение 3 раза в месяц, Сбер — дважды в месяц. Это очень часто.
Чтобы выдержать такой высокий темп, банкам нужны не только отлаженные процессы в продуктовых командах, но и технологии, которые могут ускорить разработку. Для мобильной фронтенд-разработки выходом может стать использование кроссплатформенных фреймворков.
Недавно мы в Surf разработали первое в России банковское приложение на кроссплатформе Flutter для Росбанка и убедились, что эта технология подходит для бизнеса любого масштаба.
В 2020 году мы написали статью, в которой рассказали, почему Flutter хорош для разработки мобильных приложений для бизнеса. Сегодня разберем, почему этот фреймворк отлично подходит для мобильных приложений банков и финтех-стартапов. Тем более что технология сделала шаг вперед: в марте 2021 года вышла вторая версия Flutter, в которой Google решил многие проблемы роста и добавил новые возможности.
Что в этой статье
Что такое Flutter
Кроссплатформа — это набор инструментов, с помощью которых можно разработать приложение сразу для нескольких платформ (в случае мобильного приложения — для iOS и Android). Кроссплатформы бывают разные — React Native, Ionic, Xamarin, PhoneGap. У каждой свои особенности: в статье на сайте мы подробно сравнили Flutter другим популярным фреймворком — React Native.
Обычно кроссплатформу используют для того, чтобы сэкономить на этапе разработки и при этом обеспечить качественный пользовательский опыт. И большинство фреймворков действительно справляются с задачей экономии.
А вот с точки зрения пользовательского опыта могут быть проблемы. Недостаточно плавные анимации, подвисание, не всегда корректная работа с жестами, непривычные элементы интерфейса — все это усложняет работу с приложением для пользователя. Именно поэтому многие крупные компании с недоверием относятся к кроссплатформенным решениям и предпочитают разрабатывать традиционные нативные приложения.
Google учел все плюсы и минусы разных кроссплатформенных решений и в 2018 году предложил свой фреймворк — Flutter. На нём можно разработать единую кодовую базу под несколько платформ: Android, iOS, веб и в экспериментальной фазе десктоп. Больше узнать про Flutter можно в статье на нашем сайте.
Почему Flutter подходит банку
Традиционный подход для банка — это разработка двух нативных приложений, на Android и на iOS. Для этого нужны разные языки программирования — Swift для iOS, Kotlin для Android, — разные подходы к разработке и две команды разработчиков.
У нативных приложений практически нет недостатков. Кроме одного — большие затраты на разработку, поддержку и развитие.
Поэтому для некоторых банков проще и выгодней использовать кроссплатформенные технологии, например, Flutter. У него есть несколько серьезных преимуществ перед нативным подходом:
Разработка быстрей и дешевле. При разработке на Flutter используется единая бизнес-логика и пишется единый код для разных платформ. Это экономит время разработчиков. Многие фичи можно взять «из коробки» и не тратить время на их создание, а оптимизированная работа с анимациями позволяет реализовать дизайн приложения быстрей, чем при нативной разработке. Все это сокращает время вывода продукта на рынок (time-to-market).
Приложение похоже на нативное. Язык Dart, на котором пишут Flutter-приложение, компилируется в нативный код для разных платформ. Это обеспечивает приложению высокую производительность и возможность поддержки на большом количестве устройств, от мобильных телефонов до веба и десктопа. Кроме того, анимации и элементы пользовательского интерфейса на Flutter ведут себя также, как в нативном приложении.
Высокая производительность. Одним из косвенных показателей производительности приложения является FPS – количество кадров, отображаемых в секунду. Оптимальный показатель – 60 кадров в секунду. При таком FPS человеческий мозг воспринимает анимацию и переходы между экранами как идеально плавные, без прерываний и зависаний. Во Flutter можно добиться производительности в 60 FPS, а в некоторых случаях даже 120 кадров в секунду, что равняется показателям нативных приложений.
Можно реализовать любой дизайн. У фреймворка есть свой графический движок и пакеты с кастомизируемыми виджетами: Material для Android и Cupertino для iOS. Фреймворк сам рисует каждый пиксель, а виджеты контролируют анимацию. За счет этого пользователь фактически не видит разницы между приложением на Flutter и нативным.
С Flutter можно использовать фичи поддерживаемых платформ. Камера, GPS, сенсоры, файловая система устройства — вы можете обращаться ко всем открытым интерфейсам платформы прямо из Dart-кода Flutter-приложения.
Flutter безопасен
Банки внимательно относятся к вопросам безопасности. Поэтому к новым технологиям сперва присматриваются и только потом с осторожностью внедряют.
Уровень безопасности Flutter выше, чем у нативных приложений и других кроссплатформенных фреймворков, таких как React Native. Рассмотрим этот аспект с точки зрения разработки, и с точки зрения пользователя.
1. Код во Flutter пишется на языке Dart и компилируется в нативный, не читаемый человеком. Это усложняет обратную обработку, которая позволяет злоумышленникам понять принципы работы приложения, и повышает его безопасность.
Для нативного приложения реверс-инжениринг может восстановить исходный код полностью или частично его структуру и наименование классов, даже в тех случаях, когда применяли метод обфускации (запутывания) кода. Во Flutter при компиляции кода формируется единая нативная библиотека со сложной структурой и меняющимися форматами данных.
Кроме того, разработчики Dart выпустили библиотечные реализации всех популярных алгоритмов шифрования.
2. Чтобы обеспечить безопасность доступа для пользователя, во Flutter-приложении можно использовать инструмент, который сейчас есть во всех смартфонах — биометрическую аутентификацию при помощи Face ID или Touch ID. В их применении в кроссплатформенном приложении нет отличий от нативных приложений.
Таким образом, безопасность Flutter-приложений не ниже, чем у нативных. А с точки зрения защиты кода от обратной обработки — даже выше.
Flutter экономит
Мобильная разработка — дорогое удовольствие, а разработка приложения для банка дороже вдвойне. Зарплаты финтех-разработчиков выше средних по рынку. Да и разовой инвестицией в проект здесь не отделаешься: приложение нужно постоянно дорабатывать, прикручивать новую функциональность, адаптировать под требования регулятора, создавать новые сервисы для привлечения пользователей.
Но без мобильной разработки банку не обойтись. В пандемию, по данным исследовательского агентства App Annie, время, проведенное пользователями в финансовых приложениях, увеличилось на 85%. И хотя жесткие ограничения позади, пользователи не спешат менять приобретенные привычки.
Осознавая, насколько это важно для выстраивания долгосрочных отношений с клиентами, банки делают ставки на мобильные приложения. Flutter помогает существенно уменьшить бюджеты на разработку и упростить:
Процесс разработки в целом. При нативной разработке создаются два отдельных приложения. При кроссплатформенной — одно, с единой кодовой базой для двух платформ, из которой код транслируется на нужную операционную систему через специальную прослойку. Производительность работы повышает и функция Hot Reload, с которой можно оперативно просмотреть изменения прямо в приложении. Экономия при разработке на Flutter может составить 30-50%.
Процесс разработки интерфейса. Интерфейс во Flutter-приложениях реализуется при помощи виджетов, а значит, быстрее создается, легко масштабируется и настраивается. Во Flutter-приложении гибкий подход к дизайну: можно реализовать унифицированный вариант и для iOS, и для Android или кастомизировать его для каждой платформы.
Процесс тестирования. Затраченное время сокращается примерно в 1,3–1,5 раза, так нужно тестировать одно приложение, а не два нативных.
Поддержку и развитие. Единую кодовую базу проще обновлять и устранять баги в случае технической поддержки. Развивать приложение с общим кодом проще, чем два нативных приложения.
Формирование команды. Для нативных приложений нужны команды разработки, пишущие на двух разных языках — Swift (для iOS) и Kotlin (для Android). Зарплаты для разработчиков на этих ЯП находятся в десятке самых высоких. Для разработки на Flutter у вас будет одна команда, а значит, расходы сократятся.
Flutter прост в освоении
Flutter основан на языке программирования Dart. Он менее известен, чем, например, JavaScript, который используется в одном из самых популярных кроссплатформенных фреймворков React Native. Но при этом разработчики признают, что Dart очень прост в освоении и удобен для работы — мы рассказали об этом в отдельной статье. Для поиска команды у вас есть несколько путей.
- Переучить имеющихся разработчиков своими силами. У Dart есть качественная подробная документация и целый тур по языку. Как показывает практика, Java/C#/JavaScript-разработчикам достаточно просто изучить Dart. Мы много обучаем стажеров и убедились на своем опыте, что разработчики, владеющие другим ЯП, начинают писать на Dart через пару недель, а новичкам требуется около месяца.
- Отправить разработчиков на курсы. Популярность фреймворка растет, а значит, в ближайшее время вырастет и число предложений по обучению программированию на Dart. Мы в Surf запустили свой курс по Flutter с акцентом на практику. Результаты наших учеников говорят, что Flutter проще освоить, если есть опыт фронтенд-разработки на любом языке.
- Нанять разработчиков со стороны. Предложение на рынке труда пока невелико. Скорей всего, это временно, так как востребованность Flutter растет, а значит, в скором времени появятся и новые кадры, освоившие язык Dart. Сейчас на hh.ru около 400 резюме Flutter-разработчиков.
- Нанять аутсорсинговую команду. Работа с аутсорсинговой компанией, специализирующейся на мобильной разработке, поможет банку решить сразу несколько задач. Ведь для реализации такого проекта нужны не только Flutter-разработчики, но и аналитики, дизайнеры, QA.
В команде Surf 150 человек, поэтому мы можем подключить нужного специалиста на любом этапе — аналитики, разработки, дизайна, тестирования. А еще у нас самая большая в России команда опытных Flutter-разработчиков. Ребята не только реализуют коммерческие проект для клиентов, но и постоянно прокачивают навыки: участвуют в тематических конференциях, а тимлид Surf Евгений Сатуров ведет популярный Flutter Dev Podcast.
Flutter продолжает развиваться
Google известен специфичным подходом к развитию своих новых технологий: поддержку и дальнейшее развитие получают далеко не все. Поэтому возникает закономерный вопрос: что будет, если Google решит отказаться от развития Flutter?
Здесь важны два фактора.
1. Flutter — опенсорсный проект, его исходный код хранится в открытом доступе. А значит, вы всегда можете воспользоваться кодовой базой для реализации новых функций.
2. Теперь обратимся к цифрам. Согласно опросу Statista, во всем мире популярность Flutter растет. За 2019—2020 годы, например, она выросла на 9%. А раз технология востребована и широко применяется, ей не дадут кануть в лету.
По данным аналитической компании SlashData, Flutter уже стал самым популярным кроссплатформенным фреймворком. Число использующих его разработчиков выросло в 1 квартале 2021 на 47% относительно этого же показателя в 1 квартале 2020 года.
Flutter уже используется в финтех-проектах
Примеры приложений для банков и финтеха на Flutter
- Первым в мире банковским приложением на Flutter стало приложение Nubank, бразильского цифрового банка и одной из крупнейших финтех-компаний в Латинской Америке. У банка более 20 миллионов клиентов по всему миру.
- Для Росбанка Surf разработал мобильное приложение для бизнеса. «Росбанк Бизнес» — первое банковское приложение в России, написанное на кроссплатформенной технологии Flutter.
-
Сейчас Surf разрабатывает B2C приложение для СМП банка.
- Birch Finance — приложение для контроля личных финансов. Оно анализирует финансовое поведение пользователя и для каждой покупки рекомендует оптимальную карту. Так пользователь получает больше кешбэка, баллов или бонусов.
- Cryptograph — финансовое приложение, которое анализирует и предоставляет данные о более чем 1600 криптовалютах.
Примеры приложений на Flutter для других отраслей
-
Google Ads — приложение для управления рекламными кампаниями, оптимизации и анализа их показателей.
-
Stadia — игровой сервис от Google.
-
eBay Motors — приложение для покупки и продажи автомобилей.
-
Приложения для облачного сервиса персонального ассистента Google Assistant.
-
Baidu Tieba — крупнейшая китайская коммуникационная платформа.
-
KFC DSR — корпоративное приложение для KFC, которое оптимизирует документооборот в компании, разработано Surf.
-
The Hole — платформа видеостриминга для Medium Quality — крупнейшего паблишера российского YouTube; разработана Surf.
Больше примеров можно найти на сайте Flutter.
Итог: Flutter подходит для банковских мобильных приложений
Мобильное приложение для банка на Flutter — успешный эксперимент для отрасли. Это доказывают проекты Nubank, Росбанка и СМП банка.
Банки-лидеры из первой десятки задают очень высокую технологическую планку и вливают в мобильную разработку неограниченные бюджеты. Flutter поможет остальным банкам не отстать в этой гонке: фреймворк увеличивает скорость разработки и уменьшает расходы на создание, поддержку и развитие приложений. При этом для пользователя нет большой разницы между нативным приложением и приложением на Flutter, так как UI-элементы, анимации, переходы между экранами работают аналогично.
Пока Flutter в силу своей относительной новизны только начинает завоевывать доверие банковского сектора. Но мы уверены, в скором будущем увидим немало мобильных приложений банков на Flutter.
* Комментарии представителей Росбанка взяты из интервью для N + 1.