Разделы

ПО Цифровизация Импортонезависимость

Роман Коропец: Приложение должно корректно работать и без обновления в AppStore или Google Play

Руководитель мобильной разработки Роман Коропец в ИТ с 2010 года. За это время ему удалось поработать над такими крупными проектами как Azerbaijan Airlines и Buta Airways. Он рассказал о пути в профессии и решении сложных задач, а также поделился советами для начинающих разработчиков.

CNews: Роман, сейчас вы являетесь руководителем мобильной разработки с 10-летним опытом работы. Как вы пришли в ИТ?

Роман Коропец: Сфера ИТ интересовала меня с раннего детства: еще в 8 лет, когда мне подарили первый компьютер ZX Spectrum, я начал изучать язык программирования Basic. Затем неоднократно разбирал-собирал свои компьютеры и пробовал писать первые сайты. Позже я поступил в Омский государственный университет по специальности «Компьютерная безопасность» и устроился разработчиком C++. С тех пор и начался мой путь в IT.

CNews: В будущем вам удалось возглавить команду разработки для проекта компании Azerbaijan Airlines и ее «дочки» Buta Airways. Расскажите об этом опыте подробнее.

Роман Коропец: Да, верно. Я сотрудничал с компанией «Аэростарс Лаб Сиайэс», оказывая консультационные услуги по разработке мобильных приложений. В тот момент они специализировались на разработке продуктов по бронированию авиабилетов, управлению заказами и регистрации на рейс. Среди их клиентов значилось несколько авиакомпаний, в числе которых были Azerbaijan Airlines и Buta Airways.

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

Роман Коропец: Сфера ИТ интересовала меня с раннего детства

Для разработки приложений стал комплектовать команду – нанял Android-разработчика, дизайнера и тестировщика. На себя я взял разработку iOS-направления и общее руководство проектом.

CNews: Какие интересные задачи вы решали и как справлялись с трудностями?

Роман Коропец: Нам было необходимо выпустить два приложения со схожим функционалом и одной аудиторией, при этом у каждого продукта – свой набор тарифов, услуг и правил. Одни и те же клиенты могут покупать билеты как в одной, так и в другой авиакомпании, поэтому нужно было объединить пользовательский опыт в двух продуктах. Было важно добиться комфорта в использовании этих приложений: чтобы клиент, зная одно, мог с легкостью сориентироваться в другом. Для этого мы создали единый каркас, на базе которого уже разделяли все функции на два отдельных продукта.

Конечно, были и сложности. Приходилось учитывать особенности тарифов и условия бронирования сразу в двух приложениях, что создавало дополнительные проблемы в разработке интерфейсов. А нам хотелось сохранить простоту и удобство использования. Мы создали функционал поиска и бронирования билетов, регистрации на рейс, также тщательно проработали систему управления бронированием: выбор питания, мест для различных категорий пассажиров, резервирование дополнительного места багажа. Трудоемких задач было несколько – отображение рейсов с пересадками, подбор доступных билетов с учетом комбинации тарифов для разных сегментов перелетов, расчет итоговой стоимости с учетом всех сборов. Последнее было особенно важным, так как сервер мог сообщить только итоговую стоимость билета, а нам было необходимо показать, из чего формируется цена с учетом налогов и сборов. Были и простые задачи, но не менее интересные. Например, разработка интерфейса отображения и выбора мест на борту. Благодаря этому опыту я познакомился с особенностями рассадки на разных типах пассажирских самолетов.

CNews: С какими еще необычными задачами вам пришлось столкнуться во время работы над такими крупными проектами?

Роман Коропец: К нетипичным задачам я бы отнес доработку приложений во время пандемии, когда отменялись рейсы, вводились скидки для определенных категорий пассажиров, менялись доступные маршруты, которые нужно было открывать и закрывать без обновления приложения. Сложность была также и в управлении бронированием, как и с открытием и закрытием рейсов. Сервер не давал такой функционал, и пользователям нужно было подсказать дальнейшие действия. Такие изменения могли произойти в любой момент – нужно было обновить данные в приложениях без необходимости принудительного обновления.

Взаимодействие с сервером тоже было не совсем обычным: сталкиваясь с ошибкой, он не обрабатывал ее, и приходилось это делать со стороны приложения. Задачу не облегчало и то, что рейсы могли меняться, заказы – редактироваться, направления – удаляться, тарифы – добавляться. Чем больше второстепенных факторов, тем больше логики, с которой приложение должно правильно функционировать без обновления в App Store и Google Play. Не все пользователи обновляют приложение, но работать оно должно стабильно.

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

CNews: Какие советы вы как эксперт с большим опытом могли бы дать начинающим разработчикам?

Роман Коропец: Первый и главный совет: не бойтесь нового, но всегда находите экспертов перед тем, как начать что-то делать. Важно правильно подойти к процессу – отыщите специалистов и узнайте о всех подводных камнях, с которыми можете столкнуться. Так вы получите хороший опыт без рисков для проекта.

Совет второй. Пишите клиентские приложения так, будто вас ненавидит команда разработки со стороны сервера. Узнайте все ошибки, которые возвращает сервер и добавляйте обработку тех ошибок, которые сервер может вернуть в теории. Обработайте все эти ситуации с ответом от сервера и доступно донесите до пользователя.

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

С каждой новой задачей вы получаете полезный опыт, который сможете применить в следующем, новом проекте.

Сабина Абасова