В процессе разработки и при поддержке любого проекта приходится сталкиваться с одними и теми же глобальными задачами:
- обеспечение приемлемого качества продукта;
- поддержание хорошего темпа разработки;
- работоспособность приложений на большинстве мобильных устройств;
- аналитика и логирование пользовательских действий в приложениях.
Обеспечение приемлемого качества продукта
Данная проблема может быть решена с помощью:
внедрения процедуры Continuous Integration;
отслеживания ошибок при эксплуатации «крэшеловами»;
моментальной реакции на изменения – распространение приложений тестировщикам и пользователям.
Continuous Integration:
- всегда «свежая выпечка» билдов - текущее состояние на проекте;
- за счет интеграционных и юнит-тестов – понимание когда, что и кем было «нейтрализовано»; без утомительных пересборок при путешествии от комита к комиту в версионном контроле.
«Крэшеловы», а также «распространяторы» сборок
В мире мобильной разработки существует огромное количество инструментов для того, чтобы отлавливать ошибки в мобильных приложениях и репортить их разработчикам.
Ни тестировщику, а уж тем более и реальному пользователю не придется тратить время на снятие лога или повторное воспроизведение бага, отчет об ошибке отправится автоматически. Отлавливание крэшей не редкость, эта функциональность есть как в библиотеках для сбора аналитики, так и в более сложных сервисах, описанных ниже.
Поддержание хорошей скорости разработки
Очень важно иметь полную вовлеченность команды в процесс разработки. Поэтому крайне необходимо, чтобы все, кто работает над выпуском приложения, получали его новую версию – для этого можно воспользоваться сервисами для дистрибуции приватных сборок, просто встройте один из них в ваш проект:
Работоспособность приложений на большинстве мобильных устройств
На рынке присутствует огромное количество мобильных телефонов, созданных для разных стран, не все они могут быть с разными версиями Android. Да и вообще порой стоит проверить приложение на разных устройствах: с большим или маленьким дисплеем, с новой или старой версией ОС и т.д. Для этого вовсе необязательно покупать множество мобильных устройств, а возможно воспользоваться сервисами вроде:
Аналитика и логирование пользовательских действий в приложениях
Порой для отлавливания ошибки в приложении отлавливателя крэша будет вовсе не достаточно, поэтому можно с помощью аналитических сервисов записывать действия пользователя либо через свою собственную подсистему – собирать историю действий пользователя или событий в приложении и отправлять ее на сервер. Данный подход позволяет сэкономить не мало времени на отладку и выявление проблем.
Могу сказать, что соблюдение абсолютно всех выше приведенных подходов я видел, к сожалению, в малой доле проектов. И эти проекты были с наиболее высокой скоростью разработки и прекрасным уровнем качества. Пустите прогресс в ваш проект, и вы увидите, что тратите больше времени на улучшение продукта, а не на обслуживание его жизненного цикла.
Узнать больше о мобильной разработке можно на курсах.