28 апреля 2021

📱 10 главных ошибок начинающего Android-разработчика

Веб-разработчик, фрилансер... Пишу об ИТ и смежных технологиях.
Проблемы возникают не только у осваивающих разработку приложений для Android с нуля новичков, но и у опытных профессионалов. Рассмотрим 10 наиболее распространенных ошибок, чтобы предотвратить их появление.
📱 10 главных ошибок начинающего Android-разработчика
Самая популярная мобильная платформа «повзрослела» с момента первого выпуска – планка ожиданий пользователей сейчас довольно высока. Им доступно множество различных устройств с разными размерами экрана, архитектурой микросхем, конфигурациями оборудования и версиями программного обеспечения. Есть тысячи вариантов, когда приложение может выйти из строя, даже если вы являетесь продвинутым программистом Android.

Большинство проблем возникает из-за отсутствия элементарных навыков – их легко предотвратить, если мы правильно понимаем основы. Рассмотрим 10 наиболее распространенных ошибок разработчиков Android.

📱 10 главных ошибок начинающего Android-разработчика

Ошибка №1: начинать работу не разобравшись с Android Studio

Android Studio – официальная среда разработки для Android от Google. Эта IDE создает комфортные условия программисту, однако новичку предстоит пройти нелегкий путь, прежде чем она станет ему интуитивно понятной. Настройка предельно проста: почти все объединено в один установщик. Загрузив его, вы получите не только Android Studio, но также Android SDK (software development kit), диспетчер SDK и многое другое.

Установите цветовое оформление и используйте split screen для разделения экрана – это повысит вашу эффективность. Изучите горячие клавиши и полезные команды. Вот несколько из них:

  1. Search for command (ctrl + shift + a или cmd + shift + a – для IOS – для поиска нужной команды.
  2. Open class (ctrl + n или cmd + o – для IOS) – открыть класс
  3. Open file (ctrl + shift + n или cmd + shift + о – для IOS) – открыть файл
  4. Close current tab (ctrl + F4 или cmd + w – для IOS) – закрыть текущую вкладку
Их довольно много, поэтому вам необходимо изучить эту IDE досконально. Более подробная информация о ней здесь.
📱 10 главных ошибок начинающего Android-разработчика

Ошибка №2: не учитывать адаптивность при разработке

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

  1. Соблюдайте относительность единиц измерения. Учитывайте, что не зависящие от плотности (dp) пиксели отличаются от обычных (px).
  2. Указывайте минимальные и максимальные значения размеров контента.
  3. Используйте грамотную вложенность объектов.
  4. Правильные шрифты. Не забывайте, что некоторые из них долго подгружаются, что может сказаться на скорости загрузки приложения.
  5. Правильно используйте растровую и векторную графику. Если на изображении много мелких деталей, используйте растровый формат, а иначе – векторный.
  6. Соблюдайте размеры макета
Вы можете протестировать продукт на подключенном через USB к компьютеру мобильном телефоне или воспользоваться эмулятором Android.

Ошибка №3: не использовать Android Intents

Интент – содержащая описание операции структура данных с мощной функцией асинхронной отправки сообщения другим Activity (активностям) или сервисам. Она предоставляет возможность обращаться к любому установленному в системе приложению, а повторное применение некоторых компонентов сокращает время разработки приложения.

Используя Android Intents можно быстрее и проще осуществить следующие операции:

  1. Звонок по любому номеру телефона.
  2. Отправку SMS.
  3. Получение контакта из телефонной книги.
  4. Открытие ссылки в браузере.
  5. Открытие карты по заданным координатам.
  6. Снимок с камеры.
  7. Звонок по Skype.
  8. Использование Speech to Text, функции распознавания голоса.

Ошибка №4: не использовать фрагменты при разработке приложения

Традиционно каждый экран в приложении для Android реализовывался как отдельное действие. Это создавало проблему при передаче информации между экранами, поскольку механизм Android Intent не позволял передавать ссылочный тип (то есть объект) непосредственно между активностями (Activity). Сделав каждый экран отдельным фрагментом, можно полностью устранить эту головную боль. Фрагменты всегда существуют в контексте активности и всегда могут получить доступ к ней.

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

Ошибка №5: не использовать Main Thread

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

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

📱 10 главных ошибок начинающего Android-разработчика

Ошибка №6: игнорировать предыдущий опыт

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

  • Awesome Android UI – подборка UI/UX библиотек.
  • Android tips and tricks – советы и тонкости разработки.
  • Android best practices – несколько неплохих практик Android-разработки.
  • MPAndroidChart – удобная библиотека для визуализации данных.
  • Android-CleanArchitecture – образец приложения с грамотно выстроенной архитектурой.
  • MaterialDrawer – простая библиотека в стиле Material Design.
  • Android Guides – полезный обучающий контент.
📱 10 главных ошибок начинающего Android-разработчика

Ошибка №7: не учитывать интересы пользователя

Андроид-разработчику всегда нужно помнить, что его приложение должно быть полезным и понятным. Если программа понятна, но бесполезна, пользователь удалит его. То же самое произойдет, если приложение полезно, но разобраться в нем не представляется возможным.

Вот несколько советов по улучшению взаимодействия пользователя с продуктом:

  1. Навигация должна быть интуитивно-понятной (сделайте так, чтобы элементы интерфейса не требовали дополнительных пояснений).
  2. Не допускайте перегруженности (используйте принципы минимализма).
  3. Не заставляйте пользователя много работать с клавиатурой.
  4. Сенсорные элементы должны быть удобными для пальцев.
  5. Тексты должны быть читаемыми.
  6. Цветовая схема должна быть приятной для глаза и хорошо прорисовываться.
  7. Учитывайте положения большого пальца, потому что 50% юзеров пользуются только этим пальцем.
Прислушивайтесь к просьбам использующих ваше приложение людей и старайтесь по мере возможности выполнять их желания.

Ошибка №8: не использовать растровые изображения

Пользователям нравится хорошо отформатированный контент, поэтому качеству изображений нужно уделять особое внимание. Чтобы интерфейс хорошо смотрелся на экранах всех размеров, графические элементы в нем должны быть соответствующим образом адаптированы. При использовании обычных изображений результат будет далек от идеального. В такой ситуации грамотным решением являются растровые картинки формата nine-patch – специальные файлы PNG с информацией о том, какие области можно растягивать, а какие нет. Для изображений масштабируемых компонентов обязательно используйте этот формат.

Ошибка №9: Использование Deep View Hierarchy (иерархии глубокого просмотра)

Источник: medium.com
Источник: medium.com

Чтобы изобразить контент в учетной записи разработчика Android, вам необходимо отпарсить XML, измерить экраны и разместить все элементы в правильном порядке. Этот процесс обычно трудоемкий и требует оптимизации, а использование LinearLayout может привести к глубокой иерархии представления, что крайне неудобно для дальнейшей разработки. Вы затратите ненужное дополнительное время на добавление очередного виджета или макета. Это особенно важно, когда макет раздувается, например, при использовании ListView или GridView. Максимально упрощайте себе работу и не усердствуйте с вложенностью.

Ошибка №10: игнорирование новых тенденций и обновлений SDK

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

***

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

Алгоритмы и структуры данных действительно непростая тема для самостоятельного изучения: не у кого спросить и что-то уточнить. Поэтому мы запустили курс «Алгоритмы и структуры данных», на котором в формате еженедельных вебинаров вы:

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

Курс подходит как junior, так и middle-разработчикам.

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ