Site icon AppTractor

8 распространенных ошибок в Android-разработке 

1. Хранить данные не там, где надо (строки, цвета)

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

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

Обычно люди чувствуют себя комфортно, используя приложение на родном языке. Важным шагом является сохранение всех строк в одном файле (обычно strings.xml) для быстрого добавления файлов локализации для разных языков.

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

2. Не использовать Фрагменты

На заре Android-разработки рекомендовали использовать отдельные Активити для каждого экрана. Со временем разработчики столкнулись с разными проблемами из-за этого. Кроме того, Activities, являющиеся точками входа в приложение, стали уязвимостями.

Если вы какое-то время являетесь разработчиком Android, то знаете, что использование Активити имело смысл пару лет назад, когда API Фрагментов еще не был настолько развит.

Перенесемся в 2020 год — команда Android рекомендует использовать Фрагменты для проектирования каждого экрана и поддерживать одно или несколько Активити во всем приложении для размещения фрагментов. Это известная Single Activity Architecture.

Следование этой архитектуре сократит значительное количество взаимодействий вне приложения. Новый компонент навигации Jetpack основан на Single Activity Architecture. Fragments API сделает вашу жизнь намного проще. Возможно, через пару лет разработка под Android переключится с Активити на Фрагменты. И к лучшему.

3. Не использовать Data Binding или View Binding

Среда разработки Android с самого начала была основана на трех типах файлов: XML, Kotlin и Java. Файлы XML содержат все, что связано с дизайном, а файлы Kotlin/Java включают в себя все, кроме дизайна.

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

Но привязка представления и привязка данных — рекомендуемые решения для решения этой проблемы. Основная цель привязки представления — решить эту проблему связывания с безопасностью типа и нулевого значения в рантайме.

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

4. Не использовать Kotlin и корутины

Прошло несколько лет с тех пор, как Google объявил Kotlin рекомендуемым языком для разработки приложений для Android. Это было одно из трансформационных решений: Kotlin исправил болевые точки Java и упросил тяжелую работу разработчиков.

Использование Kotlin для разработки Android открыло новые возможности с такими функциями, как расширения, область видимости, классы данных, object выражение, null безопасность и т.д. Помимо разработки Android, вы также можете начать многоплатформенную и серверную разработку с Kotlin.

Асинхронное программирование играет ключевую роль в мобильной разработке. На ранних этапах мы использовали AsyncTask. Со временем появилась RxJava, и это коренное изменение. Но у RxJava есть большая кривая обучения и совершенно другой подход с обратными вызовами.

Затем появились корутины, решение Kotlin для асинхронного программирования с простым подходом. В наши дни корутины стали стандартным решением для реализации асинхронных задач. Мощные функции и простая реализация делают их более адаптируемыми.

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

5. Ошибаться в дизайне

В дизайне можно выделить сразу несколько ошибок разработчиков:

6. Незнание основных уязвимостей

Хранение конфиденциальных данных

Хранение конфиденциальных данных в Android shared preference, базе данных или локальном хранилище представляет собой риск. Их легко взломать. Многие разработчики не знают об этом и используют shared preference для хранения конфиденциальных данных пользователя.

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

Безопасные коммуникации

Многие разработчики Android считают, что использование HTTPS может обезопасить их связь с серверами. Но это не так. Многие хакеры вмешиваются в коммуникации, чтобы ввести в заблуждение серверы и клиентов. Это известно как MitM атаки. Чтобы установить безопасную связь с сервером, нам необходимо реализовать пиннинг сертификата.

7. Не знать возможности Android Studio

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

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

Android Studio также предоставляет инструменты отладки для редактора навигации для просмотра графа навигации приложения и редактор движения для реализации эффективных анимаций и переходов.

8. Не использовать библиотеки Jetpack

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

Библиотеки JetPack охватывают основные функции, такие как paging3 для разбивки на страницы, Room для локальной базы данных, WorkManager для длительных фоновых задач, DataStore для улучшенного хранения данных, Hilt для DI, navigation component для навигации в приложении, App Startup для сокращения времени запуска приложения и т.д.

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

Это все. Надеюсь, вы узнали что-то полезное. Спасибо за прочтение!

Источник

Exit mobile version