7 уроков, которые я усвоил за 2 года разработки на андроид

06.05.2020
Posted in blog-article
06.05.2020 admin

7 уроков, которые я усвоил за 2 года разработки на андроид

Чтение сегодняшней статьи заряжено на удачу, богатство и успех 🌟

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

1. Выбирайте правильную архитектуру и пользуйтесь ей с самого начала

Вы когда-нибудь слышали такие аббревиатуры как MVC, MVP, MVVM и т. д.? Это различные программные архитектуры, и вы должны их знать.

Многие новички пишут весь свой код в activity, и в самом начале это может показаться нормальным. Но поверьте мне, это не так.

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

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

7 уроков, которые я усвоил за 2 года разработки на андроид, изображение №2

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

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

Не существует единого способа написания приложений, который лучше всего подходит для каждого сценария. Тем не менее, эта рекомендуемая архитектура является отличной отправной точкой для большинства ситуаций и рабочих процессов.

Ресурсы

Я не буду объяснять детали архитектуры, так как это не является целью данной статьи, но перечислю полезные ресурсы:

Руководство по архитектуре приложений

Базовый образец компонентов архитектуры Android

2. Сторонние библиотеки: найдите правильный баланс

7 уроков, которые я усвоил за 2 года разработки на андроид, изображение №3

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

Хоть это может положительно сработать в первый раз, но, как правило, это неверный подход. В итоге вы потратите много времени, пытаясь изобрести колесо. Не делайте этого.

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

И знаете что? В конце концов, мой проект был ни чем иным, как огромным нагромождением сторонних библиотек. Не делайте этого. Тщательно выбирайте библиотеки. Не все они хорошо написаны и надежны.

Итак, мой совет — найти правильный баланс. Если у вас есть проблема во время разработки, и кто-то уже решил ее при помощи большой библиотеки, используйте ее. Если вам нужен HTTP-клиент, вы можете использовать Retrofit.

Если вам нужно загрузить и управлять большим количеством изображений, вы можете использовать Glide. Это отличные библиотеки, очень известные и стабильные.

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

Ресурсы

Android Arsenal поддерживает огромную базу данных с почти всеми доступными библиотеками Android.

3. Начните с простого и ясного UI

Если вы работаете в крупной компании в качестве Android-разработчика, то UI / UX приложения — забота дизайнеров, поэтому вам не придется беспокоиться об этом.

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

«Пользовательский интерфейс — это как шутка: если вам нужно это объяснить, то он плох.” — Мартин ЛеБланк

Ошибка, которую я часто совершал в прошлом, заключалась в том, что я слишком много вкладывал в интерфейсы. Большое количество элементов путают пользователей и часто создают плохое эстетическое чувство. Мой совет-начать с простого. Очень простого и ясного.

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

Не забудьте протестировать пользовательский интерфейс на дисплеях разных размеров и точек на дюйм. Никогда не используйте фиксированную единицу измерения, такую как px, всегда используйте динамические единицы, такие как dp (или sp для текста).

Ресурсы

Dribbble: когда вы не знаете, с чего начать, вы можете искать вдохновение в этом фантастическом сообществе дизайнеров.

Google Material Design: адаптируемая система рекомендаций, компонентов и инструментов, которые поддерживают лучшие практики проектирования пользовательского интерфейса.

Психология повседневных вещей: хорошая книга о практичности в повседневной жизни, Дон Норман.

4. Тестируйте, тестируйте и еще раз тестируйте

Сколько раз вы думали: «я тестировал приложение на своем смартфоне, и оно работает!”

Мы оба знаем, что этого недостаточно. Возможно, сокращенная фаза тестирования сэкономит вам несколько дней во время разработки, но это будет стоить вам недель в производстве!

Хорошая фаза тестирования поможет вам проверить надежность, работу и удобство использования вашего приложения перед запуском.

Как я должен проверить свое приложение? Это очень широкая тема. Существуют различные типы тестирования, и каждый из них имеет определенную цель.

7 уроков, которые я усвоил за 2 года разработки на андроид, изображение №4

Как видно из иллюстрации, мы можем выделить три уровня тестирования:

  • Модульные тесты: для проверки поведения вашего приложения по одному классу за раз.
  • Интеграционные тесты: для проверки взаимодействия между уровнями стека в модуле или взаимодействия между связанными модулями.
  • UI тесты: для проверки поведения пользовательского интерфейса и потока пользователей.

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

Эмпирическое правило, предложенное Google, состоит в том, чтобы разделить ваши тесты на 70% небольших тестов (модульные тесты), 20% средних тестов (интеграционные тесты), 10% больших тестов (тесты пользовательского интерфейса и сквозные тесты).

Ресурсы

Тестирование приложений на Android: вот все, что вам нужно, чтобы начать тестирование приложений.

TDD на Android: видеосессия на TDD от Google I / O 2017.

5. Android Studio — ваш лучший друг

Конечно, вы уже используете эту IDE, но используете ли вы весь ее потенциал?

Есть много инструментов, встроенных в Android Studio, которые могут помочь вам разработать приложение. Вот те, которые я использую чаще всего:

  • Device Emulator для тестирования поведения вашего приложения на различных устройствах с различными версиями Android.
  • APK Analyzer для анализа размера приложения путем проверки содержимого APK.
  • Realtime Profilers для анализа статистики использования ЦП, памяти и сети в реальном времени.
  • Firebase Assistant для подключения приложения к Firebase и добавления всех необходимых сервисов Firebase всего за несколько кликов.
  • Vector Asset Studio позволяет легко создавать новый ресурс изображения для каждого размера плотности.

И знаете ли вы, что Android Studio также имеет функцию, которая превращает ваш компьютер в печь?

7 уроков, которые я усвоил за 2 года разработки на андроид, изображение №5

Ресурсы

Дополнительные сведения и функции см. В руководстве пользователя Android Studio.

6. Всегда используйте Git

Git — это система управления версиями (VCS) и, на самом базовом уровне, есть две большие вещи, которые VCS позволяют вам делать: отслеживать изменения в ваших файлах, и это упрощает работу над большими проектами с несколькими разработчиками.

Я не понимаю, почему я должен использовать Git, я могу просто сделать резервную копию моего проекта. — Я, 3 года назад

Я знаю, знаю.

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

Ваш исходный код надежно хранится в облаке и доступен в любом месте.

Доступны все предыдущие версии вашего кода. Вы можете проверить старые версии и даже вернуть все обратно, если что-то пошло не так.

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

Вы можете внести свой вклад в тысячи проектов с открытым исходным кодом.

С такими платформами, как GitHub и BitBucket, у вас есть возможность создавать и показывать свое портфолио.

Есть много других, но я надеюсь, что этих причин достаточно, чтобы передать сообщение: если вы думаете, что вам не нужен Git, вы ошибаетесь.

Ресурсы

GitHub и BitBucket руководства, чтобы начать работу с Git.

7. Пользуйтесь чек-листом для релиза

Настал тот час, когда вы думаете, что ваше приложение готово к публикации. Но так ли это на самом деле? Как вы можете быть в этом уверены? На этом этапе никогда не стоит слишком торопиться и лучше задать себе несколько вопросов:

  • Я удалил какой-либо отладочный код?
  • Я сделал достаточно испытаний?
  • Я обновил имя и код версии в сборке Gradle?
  • Я включил ProGuard, чтобы скрыть код АПК?
  • Я локализовал свое приложение?

Подготовил ли я свой аккаунт разработчика в Google Play?

Если вы можете ответить «да» на все эти вопросы, то вы можете продолжить. Я предлагаю вам создать пакет приложений для Android (aab) вместо APK для оптимизации размера и ресурсов вашего приложения.

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

Ресурсы

Вот отличный чек-лист запуска от разработчиков Android.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Contact

Давайте работать вместе!

Пишите нам и найдем точки соприкосновения, может станем партнерами, а может поможем вам зайти в нашу чудесную нишу

Вы разработчик?

Пишите! Нам постоянно нужны новые кадры, либо можем помочь в продвижении вашего приложения

Новичок?

Поможем быстро войти в нишу, не тратя годы на понимание

Давно в нише?

Рады будем пообщаться как на темы whitehat, так и blackhat тематики ^_^ + всегда есть что обсудить по поводу рекламных сетей

ПИШИ В TELEGRAM!

Contact