Домой Android разработка Инструменты Android разработчика

Инструменты Android разработчика

by dilix
Цикл разработки приложения

Давайте рассмотрим инструменты, которые точно будут полезны Android программисту в повседневной работе. В интернете полно статей со списками сервисов, из которых вам предстоит самим выбрать что нужно, а что не очень. Я же пройдусь только по тому инструментарию, который использую лично. И в том порядке, в котором они появляются на разных этапах разработки. Итак, погнали…

Цикл разработки мобильного приложения

Будем рассматривать полный цикл разработки приложения под мобильные устройства, а в частности – под андроид . От идеи до релиза в google play store. Некоторые пункты именно вам могут быть не интересны, их можно спокойно пропускать 😉

Цикл разработки приложения

Disclaimer: также коснемся инструментов, которые пригодятся не только вам, но и команде, в том числе для коммуникации между разработчиками, дизайнерами и менеджерами.

Сбор требований и анализ идеи

Вам пришла в голову гениальная идея нового мобильного приложения, скорее всего вам уже не терпится приступить к написанию кода…

Главная опасность на данном этапе в том, что вы еще не сформировали своё же видение продукта. Уже знаете в нем должно быть (а главное – чего не должно)? Какие есть аналоги и конкуренты? Главные “инструменты” на этом этапе – google\yandex, а также ваши друзья и знакомые. Ищите упоминания или реализации похожих приложений. Спрашивайте ваше окружение – что они думают про идею. Собирайте “требования и хотелки”.

Целесообразно записывать (тут выбирайте сами, в онлайне или на бумажке) идеи, мысли и все то, что поможет сформировать ТЗ себе любимому.

Для перехода к следующему этапу нужно иметь

  • Сформированное видение конечного продукта
  • Текстовую документацию-описание будущего продукта

Если пропустить данный этап, то с учетом того, что писать\думать – быстрее, чем программировать или прототипировать, то возможно

  • Потратить кучу времени на переписывание кода
  • Не заметить, когда уже можно выпускать первую версию приложения и продолжать разрабатывать “вечно”

Прототипирование мобильного приложения

Цель данного этапа – максимально быстро и просто визуализировать ваше видение приложения для дальнейшей разработки дизайна.

Почему сразу не отдать текстовое ТЗ дизайнеру? Да потому что в большинстве случаев это будет намного дороже и дольше. Дело в том, что по одному и тому же описанию можно представить совершенно разные визуальные формы, UX и UI. Простой пример – вы прочитали художественную книгу, в голове есть картина литературного мира, образы и герои… А теперь посмотрите экранизацию того же произведения… Готов поспорить, что в 90% случаев картинка не будет совпадать с вашим внутренним ощущением. Её ведь создавали совсем другие люди.

После того, как я опробовал множество различных приложений, в конце концов остановился на Balsamiq. Этот инструмент позволяет с минимальными усилиями набросать любой интерфейс. К нему существуют отдельные бесплатные библиотеки элементов, которые заточены именно под мобильный прототип.

Пример визуального прототипа

Карта экранов и переходов

Когда готовы отдельные экраны, то для полной картины необходимо иметь карту переходов между ними.

Сервис RealtimeBoard (а ныне Miro) позволяет добавить созданные экраны как картинки, нарисовать переходы и добавить участников на “доску” для обсуждения получившегося макета.

Realtime board, Miro макет

Существуют сервисы, позволяющие сделать интерактивный прототип (по которому можно кликать и переходить на экраны). На мой взгляд это занимает на порядок больше времени и не оправдано на данном этапе.

Дизайн мобильного приложения

Дизайн делает дизайнер (Л – логика). Но все же вам, как программисту полезно знать доступные инструменты, хотя бы для того, чтобы посоветовать дизайнеру, если он не занимался плотно разработкой мобильных приложений.

На сегодня основной инструмент – Sketch.

Photoshop идеален для растровой графики. Но в связи с тем, что UI под Android предполагает векторный material design, то стоит использовать специализированные инструменты – это сильно упростит работу.

Последнее время часто слышу про Figma, которая работает в Веб интерфейсе, но лично им не пользовался.

Как передать дизайн разработчику?

Конечно можно передать просто исходники, но это не удобно и не продуктивно. А можно использовать Zeplin

Zeplin для дизайна мобильных приложений

Он позволяет выгрузить созданные экраны, например в Sketch. Zeplin автоматически показывает размеры, отступы, стили. Если сделать иконки exportable, то Android проект позволит выгрузить иконки как вектор или сразу под все необходимые DPI.

Анимация в Android приложении

Переходы, фейды, зумы и тд – это все можно сделать программно. Но иногда дизайнер хочет сделать анимированный элемент, например картинку.

Удобный инструмент сделали ребята из AirBnb – Lottie. Он позволяет эффективно запускать анимации, созданные в Adobe After Effects.

Adobe creative cloud

Т.е. дизайнер создает анимацию на векторных элементах. Затем Lottie ее транслирует на мобильные устройства (ну и веб тоже поддерживается) – магия!

Разработка мобильного приложения под Android

Тут особо говорить нечего – Android studio. Полезные библиотеки ищутся в поисковике, либо на Android Arsenal.

Деплой мобильного приложения

Доставка приложения тестировщикам

Удобно использовать Fabric beta. Так можно начать отгружать приложение, даже не имея созданного шаблона в google play developer console. Крайне  удобно на раннем этапе разработки.

Релиз Android приложения в Google play

Можно выкладывать приложения руками в маркет. Но правильнее, надежнее и быстрее (в перспективе) настроить автоматизированный deploy приложения. Естественно, перед тем как раскатить релизную версию, необходимо отдебажить и в дальнейшем обфусцировать сборку.

Тестирование и поддержка мобильного приложения

После релиза приложения – работа только начинается 😉

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

Отчеты о сбоях в Android приложении

Сам google play предоставляет сводную информацию по сбоям и зависаниям, а признанный эталон в этом – Crashlytics.

Для более детальной обработки и ловли багов можно использовать также Instabug. Это комплексный инструмент сбора сведений о крешах и обратной связи с пользователями.

Производительность Android приложения

Ваше приложение содержит много сетевых запросов и\или сложной логики? Логично задуматься об оптимизации и замере производительности вашего приложения.

Тут придет на помощь Firebase Performance Monitoring tool, который автоматически отслеживает основные метрики производительности мобильного приложения.

Аналитика в Android приложении

Базовую аналитику можно использовать прямо от Firebase Analytics – дешево (бесплатно) и сердито. Если она уже подключена, а нужна чуть более детальная статистика, то можно выгрузить данные в BigQuery и делать с ними все, что вздумается.

Для более серьезной и удобной аналитики, включая атрибуцию каналов и т.д. стоит подключить, например AppsFlyer

Я не столь силен в аналитике мобильных приложений. Перечислю список основных популярных инструментов для нее: Mixpanel, Amplitude, AppAnnie

Вместо заключения

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

Хочешь обсудить Android разработку?
Заходи к нам Вконтакте, на Facebook и в Телеграм!

Может быть интересно

Этот сайт использует Cookie файлы для улучшения вашего пользовательского взаимодействия. Используя данный сайт вы соглашается с этим. Принять Читать

Политика конфиденциальности и Cookies