Евгений Сайты › Peppers Сбер ID
Сайты, SEO и GEO, реклама, чат-боты, ИИ и дизайн | Москва
Рейтинг
9 371
№ 111 в каталоге
Отзывы
Профессионализм
9/10
Коммуникация
9 /10
Город
Москва
Опыт работы
11 лет
На сайте с
2016 года
Юридический статус
Самозанятый
Freelance.Boutique
Премиум-сервис для лучших исполнителей

Перенос приложения службы такси с Xamarin на React Native: клиент и водитель, замена КПК на Windows Mobile смартфонами, снятие Windows Phone и BlackBerry

Используемые навыки BlackBerry React Native Windows Mobile Windows Phone Xamarin

Описание

Приложения городской службы такси в Нижнем Новгороде и области переехали с Xamarin на React Native: клиентское для iOS и Android и отдельное приложение водителя для Android-смартфонов, которое заменило старые КПК. Работу сделал Евгений Росляков. Мобильные приложения и сайты он делает с 2016 года. Он самозанятый, перед началом заключает договор, а юрлицам отдаёт закрывающие документы. Работает из Москвы, а с заказчиками в других городах — удалённо.

У службы свой автопарк и водители-партнёры. Клиентское приложение написано на Xamarin. Microsoft закончила поддержку этой платформы в 2024 году, и сборки под новые версии iOS и Android перестали проходить. Исправление можно было выпустить только на старых инструментах, а с каждым обновлением телефонов риск рос.

Водители работали на КПК с Windows Mobile. Эти карманные компьютеры ставили в машины лет десять назад: на них приходили заказы и строился маршрут. Экраны выцвели, батареи изношены, запчастей нет.

В магазинах приложений висели ещё и версии для Windows Phone и BlackBerry, сделанные в 2013 году. Обе платформы давно не работают, а мёртвые карточки сбивали с толку и клиентов, и новых разработчиков.

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

Итого: уйти с Xamarin без остановки службы, заменить КПК смартфонами и убрать мёртвые версии.

Решение

Выбрал React Native. Один код компонентов и логики работает на iOS и на Android, а разработчиков под него найти проще, чем под Xamarin. API заказов остался прежним, поэтому диспетчерская и бухгалтерия ничего не заметили: менялись только приложения.

Приложений два. Клиентское работает на iOS и Android: карта с подачей машины, расчёт цены до заказа, оплата картой или наличными, история поездок. Приложение водителя написал только для Android-смартфонов, которые водители покупают сами или получают от службы. В нём заказы поблизости, навигация и статусы: «еду», «на месте», «в пути», «завершил».

В машинах связь пропадает в тоннелях и на трассе. Поэтому приложение водителя запоминает действие, пока сети нет, и повторяет отправку, когда она возвращается. Заказ не теряется, статус не «зависает». Фоновую геолокацию настроил по правилам Android: на смене водитель сам включает передачу позиции и видит в шторке постоянное уведомление.

Общую часть кода двух приложений вынес в отдельный модуль: расчёт цены, статусы, работа с API. Поддерживать так проще.

Версии для Windows Phone и BlackBerry снял с публикации. Тем редким людям, кто ещё открывал старое приложение, показывается сообщение о новом, с кнопкой перехода в магазин.

КПК с Windows Mobile водители сдавали по мере перехода на смартфоны. Первые две недели обе системы работали параллельно, затем КПК отключили.

Результат

Приложения службы снова собираются под свежие версии iOS и Android. Обновления выходят в обычном порядке, без обходных путей через устаревшие инструменты. Мёртвые карточки Windows Phone и BlackBerry убраны, в магазинах осталось по одному актуальному приложению.

Водители пересели с КПК на смартфоны. Экран крупнее, карта быстрее, зарядка обычная, как у любого телефона. Диспетчеры заметили, что статусы заказов идут без провалов, даже когда машина проезжает плохой участок связи.

Клиенты увидели знакомые экраны: заказ, карта, оплата. История поездок перенеслась целиком, потому что хранится на сервере, а не в самом приложении.

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

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

Если ваше приложение держится на платформе, которую перестали поддерживать, напишите мне здесь, на freelance.ru: на чём оно написано и какие устройства в работе. Оценю перенос.

Оценили проект:

Другие проекты

Все проекты →
Маркетинг и Продвижение Продвижение в интернете для службы доставки еды в Тбилиси: аналитика заказов в Google Analytics, Meta Pixel, A/B-тестирование и дашборд для владельца
Продвижение в интернете для службы доставки еды в Тбилиси: аналитика заказов в Google Analytics, Meta Pixel, A/B-тестирование и дашборд для владельца
16
Маркетинг и Продвижение Продвижение в интернете бренда купальников в ОАЭ: продвижение в Instagram, маркетинг и реклама в Instagram, Meta Pixel
Продвижение в интернете бренда купальников в ОАЭ: продвижение в Instagram, маркетинг и реклама в Instagram, Meta Pixel
26
Веб-разработка и IT Перенос интерфейса лизинговой системы с Ext JS и Sencha Touch на Blazor: общий код с бэкендом на .NET, отчёты вместо Google Web Toolkit
Перенос интерфейса лизинговой системы с Ext JS и Sencha Touch на Blazor: общий код с бэкендом на .NET, отчёты вместо Google Web Toolkit
16
Веб-разработка и IT Переезд на VPS девяти сайтов застройщика: Ubuntu и Debian, Nginx с PHP-FPM, резервные копии и переключение без простоя
Переезд на VPS девяти сайтов застройщика: Ubuntu и Debian, Nginx с PHP-FPM, резервные копии и переключение без простоя
14