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

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

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

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

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

Выбор технологии для сборки приложения МКК/МФО

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

Кроссплатформенные решения для разработки

Первый вариант, который был на поверхности это использовать мультиплатформенный движок Cordova. В свое время компания 1С-Битрикс использовала его для серийного продукта "Мобильное приложение" и выглядело это вполне функционально.

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

Третий вариант, который мы рассмотрели это React Native, так же дающий возможность развернуть приложение с интерфейсом для обоих систем iOS и Android.

Фантазия в разработке нас понесла очень далеко, но в итоге мы «приземлились» и в сухом остатке проанализировали исходные данные и поставленную задачу, чтобы принять решение о используемой технологии.

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

Cordova в этом свете выглядела более выгодно, тем более что она в целом рассчитана на разработку на опорных технологиях веба CSS, HTML и JavaScript. Однако поработав с ней, с ее плагинами и особенностями, мы и от нее отказались. Финальной точкой в это отказе стало понимание, что нам нужно приложение только на Android и в таком ключе вся выгода от кроссплатформенного движка пропадает.

Нативная разработка микрофинансового приложения на Java

Оказалось это быстрее, удобнее и функциональнее. В основном благодаря нашим знаниям языка Java и в целом удобной Android Studio. Она, конечно, не так хороша как Visual Studio при разработке на C#, но в общем подходе похожа.

Мы собрали конструкцию для ретрансляции через Webview, а чтобы на стороне сайта было понятно, что это мобильное приложение, пробросили специальные заголовки (headers). Теперь можно корректировать внешний вид конкретно под приложение, не трогая общий вид сайта в обычном браузере.

Далее важным аспектом разработки был функционал пуш уведомлений. Стандартны мы подключились изначально к Firebase, чтобы вообще иметь возможность работать с пушами на андройде. А далее воспользовались сервисом OneSignal, у которого есть удобное API и бесплатные возможности отправлять push через Firebase. Дополнительным аргументом использовать дополнительный сервис был и тот факт, что времени на разработку было мало, а заказчику надо было в конечном итоге дать удобное и функциональное средство для отправки пушей.

Теперь, когда базовая содержательная часть была готова, осталось навести красоту и добавить сопутствующие детали. Мы сделали страницу загрузки, настроили уведомление при отсутствии сети, чтобы не браузер писал ошибку, а страница в фирменном стиле появлялась и уведомляла что нужен интернет для работы.

Резюме

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

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

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