Haulmont специализируется на разработке корпоративных систем для автоматизации бизнес-процессов, и создание мобильных приложений — это лишь одно из наших направлений. Но есть такие сферы, в которых они играют очень важную роль — мы говорим о службах такси. И кто, как не программисты подразделения Sherlock, знают, что такая разработка полна инженерных вызовов.
Рассказываем, какие задачи стоят перед нашими IOS и Android developers, что главное в создании мобильного приложения и каким трендам в сфере такси нужно следовать.
Система Sherlock и ее мобильные приложения
Несмотря на старания популярных агрегаторов, службы такси с собственным автопарком и штатом водителей живы и хорошо себя чувствуют. Их основное преимущество — гарантированный уровень сервиса и безопасность для пассажиров. Чтобы оставаться конкурентоспособными и идти в ногу со временем, они внедряют системы комплексной автоматизации. Подобные решения помогают оптимизировать расходы и снизить холостой пробег. Sherlock как раз является такой системой, причем одной из самых известных на рынке. Ее используют компании из стран Западной и Восточной Европы, Африки, Юго-Восточной Азии и Тихоокеанского региона.
Система Sherlock состоит из нескольких модулей: backend-часть, где происходит процесс создания, обработки и ведения заказа, web-портал и конечно, собственные мобильные приложения (водительские и пользовательские). Сегодня заказ такси через смартфон является наиболее популярным и удобным способом. А значит, разработке такого приложения уделяется особое внимание.
«Коробка» и расширения
Мобильное приложение Sherlock представляет из себя расширяемое ПО, которое модифицируется под каждого заказчика. Оно состоит из product-части (основного продукта), и extension-части (расширения для заказчиков). Все основные фичи от меню заказа такси до анимированной карты города и чаевых водителю находятся в базовом приложении, сюда же в основном добавляются и новые функции.
Архитектура приложений Sherlock позволяет настроить ПО под нужды бизнеса. Клиентские расширения ссылаются на базовый продукт. В них разработчики «включают» или «выключают» различные функции в зависимости от пожеланий заказчика. Конечно, иногда заказчику нужна уникальная опция, которой нет в «коробке». В таких случаях разработчики создают заказные решения.
Еще одна особенность пользовательского приложения Sherlock — возможность использовать сразу два аккаунта: для корпоративных и индивидуальных пассажиров. Такая функция есть далеко не у всех агрегаторов, а то что у них есть, развито достаточно слабо по сравнению с Sherlock.
Чтобы кастомизация приложений проходила более эффективно, подразделение уделяют большое внимание качеству кода, гибкости архитектуры и дизайну. Сегодня в App Store и Google Play доступно более 20 активных приложений, разработанных Sherlock.
Технологии и качество
Sherlock разрабатывает нативные приложения для iOS и Android. Конечно, кроссплатформенные приложения создаются быстрее и проще, но достичь лучшего user experience (“опыта использования”), лучшей производительности, плавности анимации и скорости реакции на действия пользователя позволяют только нативные технологии. Для подразделения это очень важно, ведь приложение — это лицо служб такси.
Наши разработчики используют разнообразный стек технологий. Основные языки для iOS developers — Objective-C и Swift. На Swift создается вся новая функциональность. Также программисты плавно переводят на этот язык всю многолетнюю кодовую базу Sherlock. Вдобавок к этому iOS developers используют Autolayout, Xib/Storyboard, CoreData, UIKit и множество других инструментов.
Android developers создают приложения на Java и Kotlin, а также применяют coroutine, mvvm pattern, retrofit, android architecture components и другие технологии. Например, новое приложение для водителей создано на 100% на Kotlin. В скором будущем подобный переход на Kotlin ждут и приложения для заказа такси.
Конечно, одна лишь нативная разработка не сделает продукт лучшим на рынке, если в нем много ошибок. Поэтому еще одним приоритетом Sherlock является качество архитектуры системы и кода. Мобильные разработчики регулярно проводят code review и добиваются максимальной стабильности и производительности приложения.
Дизайн и тренды
Однако дизайн базового продукта — это лишь один из технических вызовов, ведь у каждой службы такси есть свой стиль, логотип и цветовая схема. Даже язык страны сильно влияет на интерфейс мобильного приложения. Именно поэтому разработчики мобильных приложений Sherlock максимально адаптируют дизайн клиентских расширений каждой компании: меняют цвета, иллюстрации и дополнительные элементы дизайна.
К тому же, приложения для заказа такси — это область, где постоянно появляются новые тренды. И, как это часто бывает, многие из них становятся абсолютным стандартом: например, отображение на экране свободных водителей. В подразделении уверены: пользователь должен видеть не просто неподвижные точки, а анимированные автомобили, которые проезжают рядом с ним. Это требует особого внимания к деталям.
Неочевидный, но очень важный навык при создании дизайна такси-приложения — хорошее знание математики и геометрии. Например, всем известная ситуация: пользователь вызвал такси и видит, как между ним и водителем плавно сокращается расстояние. Это и есть задача по геометрии и оптимизации: мобильному разработчику нужно написать такой алгоритм, чтобы линия маршрута проецировалась на водителя и уменьшалась в определенный момент.
Обновления и новые функции
Sherlock выпускает новые версии приложения минимум два раза в год. Наши программисты не просто создают продукт, а решают стратегические задачи бизнеса и помогают заказчикам адаптироваться к сложностям. Так, пандемия ускорила разработку новой функции: за короткий срок мы добавили в мобильное приложение возможность выбора сервисов доставки. Это помогло многим службам такси адаптироваться к сегодняшним реалиям и продолжить работать.
Но если заказчик может сообщить разработчикам плюсы и минусы внедрений, то как быть с тысячами пассажиров по всему миру? Зачастую пользователи оценивают работу такси комплексно и редко заходят в магазин приложений, чтобы оставить обратную связь о самом сервисе продукта.
Тогда наши специалисты ввели улучшение, по которому можно оценить продукт, не заходя в App Store и Google Play. Через полгода после внедрения разработчики увидели, что рейтинги ПО Sherlock заметно выросли. Например, долгое время рейтинг приложения одного нашего крупного клиента в Европе составлял всего 3.2 балла из 5. Однако после внедрения такой фичи он достаточно быстро вырос до 4.8. Для подразделения это не только маркер успеха, но и возможности для развития.
Если вы тоже хотите развиваться в разработке мобильных приложений, работать с актуальными технологиями и общаться с заказчиками по всему миру, присоединяйтесь к команде Sherlock. Все открытые вакансии опубликованы в нашем разделе «Карьера».
Может быть интересно:
на официальном сайте компании