Разработка мобильного приложения или как мы победили Apple
Сегодня мы расскажем о мобильном приложении, который разработали для компании «Астра» в Оренбурге. Фирма занимается поставками нефтепродуктов, в частности, мобильными заправками. Суть услуги — через сайт или мобильное приложение можно вызвать спецмашину, которая заправит ваш автомобиль топливом по указанному адресу. Начинали мы с сайта, затем создали и запустили в работу мобильное приложение.
Как это происходило, с какими трудностями мы столкнулись — об этом поговорим с ведущим разработчиком DCMedia, Максимом Гришановым.
Зачем приложение, если есть сайт, на котором можно оформить заявку?
Да, вызвать заправщика можно через сайт, однако особенность услуги заключается в том, что ею начинают пользоваться постоянно, как такси или доставкой еды. Заправка автомобиля — это повторяющееся действие, поэтому мобильное приложение для пользователей более удобный вариант, чем каждый раз открывать браузер, искать нужный сайт, вбивать контактные данные.
Разработка мобильного приложения — это был твой первый опыт в этом направлении?
Да, пришлось погрузиться в новую тему. Изучил документацию на разных ресурсах, почитал статьи и кейсы других разработчиков и просто начал делать. У меня большой опыт в web-разработке, поэтому не сказал бы, что программная часть была чем-то очень сложным.
Как была построена работа? Какие специалисты принимали участие в разработке?
Началось всё с согласования техзадания. ТЗ мы написали сами, основываясь на пожеланиях клиента и анализе аналогичных продуктов. Далее началась разработка. Параллельно с серверной частью дизайнер отрисовывал макет. Хотя до этого мы уже запустили сайт компании и стилистика была готова, мобильное приложение потребовало немало часов работы со стороны дизайнера. Следующим шагом была работа над клиентской частью на NativeScript и компиляция на Android и IOS. Затем тестирование на эмуляторах и реальных устройствах, и, собственно, публикация в сторах.
Обычно разрабатывают 2 отдельных приложения для IOS и Android, реже делают общие (кроссплатформенные). Какое решение было выбрано для заказчика?
У нас не совсем кроссплатформенное решение, хотя оно разработано для обеих систем. Мы писали на NativeScript - это движок на JavaScript, который позволил построить шаблоны и основною логику программного обеспечения сразу для двух платформ. Получился один продукт, из которого можно сделать сборки под IOS и Android.
Почему был выбран именно такой подход к разработке?
JavaScript — это язык, которым я регулярно пользуюсь при создании сайтов: я знаю синтаксис, как он устроен, как он себя ведет. Для NativeScript написано много плагинов, их можно использовать при разработке и не писать свои. Для простых приложений возможностей NativeScript более чем достаточно. Такой способ ускорил процесс, ведь мы создавали один программный продукт вместо двух.
Как велась разработка серверной части?
Серверная часть разработана на Yii2 c использованием шаблона Advanced. У нас получился один проект, содержащий API для мобильных приложений и frontend сайта; сам frontend (частично использует api), backend, в котором работают администратор и контент-менеджеры, и различные микросервисы.
Каким был следующий этап?
Далее мы запустили полноценное тестирование. Пробные тесты я проводил еще в процессе разработки с помощью набора эмуляторов. После публикации приложение продолжили тестировать на реальных устройствах. Для этого подключили некоторых сотрудников нашего агентства и самого заказчика.
С какими платежными системами были интеграции?
С помощью приложения можно не только сделать заказ, но и провести оплату. Для этого мы подключили сервис ЮKassa (платежный агрегатор).
Публикация приложения в сторах — есть ли различия между App Store и Google Play ?
Первый этап — это регистрация личного кабинета разработчика (и в Android, и в IOS). Когда регистрируешь личный кабинет для Android, нужно внести единоразово $25. Оплатили, нам подтвердили регистрацию. Выгрузили приложение, отправили на проверку. Со стороны Android было несколько замечаний по поводу политики конфиденциальности: мы довольно быстро их исправили, и приложение было опубликовано на Play Маркет.
В отличие от Android, в IOS предусмотрена абонентская плата — $99 в год. Стоит отметить, что у них свой курс: по нашим расчетам, мы должны были заплатить 7300, а в итоге вышло 8990 рублей. Следующее отличие — это собственно зачисление оплаты. У IOS этот этап длился почти месяц. В итоге мы получили письмо, что Apple примет оплату на своей стороне в «ручном режиме». Это была пятница, а кабинет нам открыли только в понедельник под конец дня. Мы наконец-то смогли загрузить приложение в рабочий кабинет. Положительный момент — замечаний от Apple не было, нас опубликовали в App Store через 12 часов после выгрузки.
С какими сложностями столкнулись при работе с этим проектом?
Основные трудности были с оплатой подписки Apple Developer Program. Сначала мы попробовали оплатить подписку индивидуального разработчика через сайт developer.apple.com. По инструкции заполнили все обязательные поля форм, платежные реквизиты. После прохождения этой процедуры появилось сообщение о том, что платеж будет обработан в течение 48 часов, такое же уведомление пришло по email. По истечении этого времени никаких уведомлений больше не пришло, указанную сумму Apple не списал. Подождав еще немного, мы обратились в службу технической поддержки. Ответ пришел еще через 2 суток. Переписка продолжалась до тех пор, пока мы не вышли на сотрудника со статусом Senior Advisor. Только после этого наши деньги зачли.
Проблема с оплатой в Apple была не только у нас. Мы нашли в интернете несколько публикаций, где описывались аналогичные ситуации. Разработчики пишут целые гайды о том, как «протолкнуть» оплату. Приходится выполнять множество манипуляций, например, привязывать карточки к iTunes, чтобы получить доступ к фирменному онлайн-магазину iTunes Store, произвести там покупку, и опять-таки начинать переписку с сотрудниками Apple.
О чем ещё нужно знать при разработке мобильных приложений?
Вся переписка с техподдержкой IOS ведется на английском. Статьи, мануалы тоже в основном англоязычные, на русском языке информации очень мало, и не вся она достоверная. Есть переводы, но опять-таки не всегда их делают люди, которые разбираются в программировании. Еще одно важное условие: чтобы сделать и опубликовать приложение для iOS, нужен компьютер от Apple.
Кому по факту принадлежит приложение?
Конечно, нашему заказчику, однако мы везде указаны как разработчики. После запуска на платформах наша работа не заканчивается. Мы продолжим осуществлять техподдержку и будем обрабатывать обращения пользователей, касающиеся работы приложения. Предстоит усовершенствование не только самого продукта, но и рабочих процессов на стороне заказчика.
Вместо заключения
Для нашего клиента данный проект — в каком-то смысле стартап: они с нуля создают новый бизнес. Многое дорабатывается и меняется на ходу. Если говорить о разработке мобильного приложения, для меня лично это новая ступень в профессиональном росте. С технической точки зрения, решение, которое мы применили, тоже не совсем стандартно. Многие студии разрабатывают приложения отдельно в Android Studio и Xcode. Мы же написали общий код и затем компилировали его.
AstraDrive - уникальный опыт для всех, кто был задействован в его создании.
Ваш комментарий будет опубликован на сайте после проверки модератором
Как привлечь новых клиентов? Из статьи вы узнаете о 24 способах заявить о вашем бизнесе, расширить клиентскую базу и увеличить трафик заявок.
Запуск бизнеса с нуля всегда сопряжен с множеством рисков. Как избежать провала и успешно стартовать, читайте в нашей статье, посвященной понятию MVP. На примерах разных бизнесов рассмотрим, как можно применить минимально жизнеспособный продукт.
Главная страница сайта — зачем она нужна и что на ней писать? Читайте руководство по главной странице сайта, которое мы разработали, опираясь на опыт разработки, SEO-продвижения и маркетинговый подход.
Повысить шансы завершить контакт продажей помогут приемы скрытого воздействия на потенциального клиента. В статье описаны 5 способов, как привлечь внимание к продукту и подтолкнуть к решению о покупке.
Комментариев нет, будьте первым!