У вас отключен JavaScript
Для пользования сайтом, необходимо, чтобы JavaScript был включен. Посмотреть как включить, выберите свой браузер:

Создаем приложение с механикой Uber: руководство по разработке проекта на миллион долларов

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

2

С момента основания компании в 2009 году у нее появилось множество последователей в различных сферах бизнеса: от курьерской доставки до гостиничной индустрии. Но даже в 2018 году Uber остается самым известным райд-шеринговым сервисом и одним из самых дорогих стартапов в мире.

Посмотрите на статистику:

2

Впечатляет? Umbrella IT расскажет, какой стек технологий находится под капотом Uber, во сколько обойдется разработка и как набрать сильную команду для создания собственного Uber-like проекта.

 

Как работает сервис Uber

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

3

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

Стандартное uber-like приложение должно уметь размещать и принимать запрос на поездку, отправлять уведомления, определять геолокацию и совершать платежи в реальном времени.  Именно эти функции мы рассмотрим подробнее чуть позже.

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

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

Нельзя не упомянуть, что у Uber есть официальный веб-портал. Однако функция сайта, скорее – информационная, в то время как 4 перечисленных компонента жизненно необходимы для работы сервиса.

А теперь пришло время рассмотреть основные функции и технологии Uber.

 

Геолокация

Геолокация – основополагающая технология для Uber. Набор инструментов для получения геолокационных данных зависит от выбранной платформы приложения – Uber доступен в App Store и Google Play.

7

  • iOS: в мобильных приложениях на iOS за определение местоположения устройства и его ориентации в пространстве отвечает фреймворк Core Location. Core Location также отслеживает перемещения устройства и отправляет на сервер данные об изменении локации с периодичностью, определенной разработчиком заранее.

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

  • Android: эти же функции доступны благодаря Google’s Location APIs, которые предлагают интеллектуальные решения для определения местонахождения и окружения устройства пользователя и отслеживания его перемещений вплоть до пункта назначения.

Для прокладывания маршрута и вычисления самой короткой дистанции Uber использует Google Maps Android API.

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

 

Уведомления

Обычно Uber отправляет уведомления в трех случаях:

  • водитель принимает заказ пассажира;
  • водитель находится в минуте езды от места посадки пассажира;
  • заказ отменен.

8

Уведомления могут отправляться в формате push- и SMS-сообщений, а также электронных писем. Решение о том, какой способ оповещения выбрать, принимает сам пользователь.

Push-уведомления

  • iOS: для передачи уведомлений на устройства Apple использует Apple Push Notifications Service (APNs).
  • Android: аналогичные функции для приложений на базе на Android выполняются с помощью Google Cloud Messaging.

SMS-cообщения

Отправка SMS об изменении статуса заказа обеспечивается благодаря использованию платформы Twilio AP как на iOS, так и на Android.

Важно: Push- и SMS-уведомления имеют свои технические нюансы. Если устройство пользователя выключено или недоступно, высок риск, что Push-сообщение придет с задержкой, или не придет вообще. При этом, APNs, в отличие от Google’s Cloud Messaging service, не позволяет точно отследить, было ли уведомление получено пользователем. В этом смысле SMS-сообщения более стабильны. Ваш SMS-провайдер оперативно проинформирует вас в случае возникновения каких-либо проблем с доставкой.   

E-mail

Uber может присылать e-mail – как правило, это квитанции, ответы службы поддержки и другие уведомления об использовании сервиса, рассылку которых отключить нельзя. Письма отправляются при помощи SendGrid API.

 

Интеграция с платежными системами

11

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

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

Дополнительно Uber использует еще один сервис PayPal – Card.io, позволяющий распознавать данные карты на любом устройстве, оснащенном камерой.

3

 

Разработка uber-like приложения: команда, сроки, стоимость

Для разработки такого проекта как Uber, необходима команда, состоящая минимум из 5-6 специалистов.

4

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

То же самое со стоимостью проекта: определяющий фактор здесь – опыт, ставка, и число разработчиков.

Когда мы принимали участие в разработке сервиса для заказа такси Cabdo, построенного по модели Uber, было принято решение создать одно гибридное приложение на React Native вместо двух нативных, что позволило ускорить время разработки и сократить число задействованных специалистов. При этом, как и во всех наших проектах, клиент оплачивал выполненную работу по факту в часах: ставка нашего разработчика начинается от $35.

По оценке наших архитекторов IT-решений, создание Uber-проекта занимает в среднем от 6690 до 7160 человеко-часов:

5

В этой статье мы описали основные функции приложений Uber и поделились своим опытом разработки подобных проектов. Как показывает практика, успех Uber-like приложений объясняется не столько техническими решениями, лежащими в их основе, сколько идеями, которые стоят за ними. Будьте как Uber – предложите новое решение старой проблемы – а Umbrella IT поможет вам воплотить его в реальность.

 

НАПИШИТЕ НАМ


Ещё

  • Umbrella IT вошла в Топ веб и мобильных разработчиков
    Umbrella IT вошла в Топ веб и мобильных разработчиков
    Скейтбордисты и банджи-джамперы любят риск. Будоражащее кровь чувство опасности – именно то, что заставляет их сердца биться быстрее. Но когда дело касается представления своего бизнеса в интернете – зачем рисковать? Umbrella IT – надежный партнер. Мы были первым официальным партнером Symfony в России. Наш опыт и экспертизу давно ценят наши клиенты, а теперь – и …
  • Как увеличить вовлеченность в мобильных приложениях: 6 полезных советов
    Как увеличить вовлеченность в мобильных приложениях: 6 полезных советов
    Что заставит пользователей возвращаться в ваше приложение снова и снова? Как запустить работу приложения на полную мощность и сделать его незаменимым для всех и каждого? Десяток, а может и два десятка установленных на смартфон приложений, но пользуетесь в реальности всего несколькими из них? Совсем не хочется, чтобы ваше приложение попало в список “однажды открою, вдруг …
  • Разработка приложений на React Native: универсальный солдат
    Разработка приложений на React Native: универсальный солдат
    К 2018 году споры о том, нужны ли бизнесу мобильные приложения, уже утратили актуальность. Теперь основной вопрос заключается в выборе технологий и исполнителей для реализации проектов. Мы уже описывали 5 причин использовать React Native для разработки мобильных приложений. Сегодня вы узнаете, в каких случаях целесообразно использовать React Native, а в каких – нативную разработку.   …