StartAndroid
10.7K subscribers
371 photos
10 videos
5 files
1.75K links
Канал об Android (Андроид) разработке

Сайт - http://startandroid.ru

Чат - https://tttttt.me/startandroidchat

Контакты - https://startandroid.ru/ru/about/cntct5.html

Реклама - https://startandroid.ru/ru/about/reklama.html
Download Telegram
Набор базовых рекомендаций по каждому из трех слоев архитектуры

#android #architecture

https://medium.com/kayvan-kaseb/some-best-practices-for-android-app-architecture-8abb925ca78d
Новый мануал по созданию приложения, которое умеет корректно работать offline.

Рассказывают не только про чтение данных, но и про запись, типы синхронизации и решение конфликтов.

#android #architecture

https://developer.android.com/topic/architecture/data-layer/offline-first
Видео для начинающих о том, как устроен простой data layer в приложении: репозиторий, сеть, БД, типы данных, тесты.

#android #architecture

https://www.youtube.com/watch?v=P125nWICYps
Принцип подстановки Барбары Лисков (L в SOLID)

#architecture #pattern #solid

https://habr.com/ru/articles/739734/
Полезные советы по работе с репозиториями:
Rule 1 — Don’t use JSON/SQL model in the Repository methods
Rule 2 — Repository is not a group of backend endpoints
Rule 3 — Repository is not a database table
Rule 4 — Not every Repository needs a Data Source

#android #architecture #bestpractice

https://itnext.io/android-data-repository-a-simple-pattern-that-we-often-misunderstand-6a6fb13b5a81
Пример создания простого приложения с использованием текущих трендов и рекомендаций.

#android #architecture

https://proandroiddev.com/a-flexible-modern-android-app-architecture-complete-step-by-step-d76901e29993
Интересный способ избавиться от UseCase, которые просто прокидывают метод репозитория. Делаем такой UseCase интерфейсом и наследуем его в репозитории.

#android #kotlin #usecase #architecture

https://dladukedev.com/articles/042_avoid_useless_cases_part_2/
Рассуждения на тему, где и в какой момент лучше загружать данные: LaunchedEffect или ViewModel.init()

#android #kotlin #compose #architecture

https://proandroiddev.com/loading-initial-data-in-launchedeffect-vs-viewmodel-f1747c20ce62
В огромном приложении Android с Clean Architecture много рутинной работы, связанной с отображением объектов между различными слоями. Хорошим решением будет автоматизация этого процесса.

В этой статье рассматривается опыт использования библиотеки MapStruct, которая помогает mapp-ить объекты.

Библиотека очень гибка в настройке. И позволяет минимизировать написание шаблонного кода.


#android #architecture #mapping

https://habr.com/ru/articles/839362/
Вторая часть статьи про начальную загрузку данных в ViewModel. Отвечает на самые распространенные вопросы, возникшие после первой части.

1. What if you want to pass arguments when loading initial data
2. What if you want to refresh?
3. Why are ViewModel.init side-effects potentially problematic?
4. How to prevent re-emitting flow from WhileSubscribed(5_000)

#android #viewmodel #architecture #bestpractice

https://proandroiddev.com/loading-initial-data-part-2-clear-all-your-doubts-0f621bfd06a0
Если вы уже определенное время занимаетесь разработкой Android, вы, вероятно, слышали о UseCases. Их часто представляют как Святой Грааль Clean architecture. UseCases призваны отделить бизнес-логику от Presentation и Data слоев, сделав ваш код более модульным, переиспользуемым и тестируемым. Но вот в чем загвоздка: UseCases не всегда являются серебряной пулей. На самом деле, слепое их применение может привести к раздутому коду и ненужной сложности, чего как раз и пытается избежать Clean Architecture. В этой статье мы развенчаем миф о UseCases и обсудим, когда они необходимы, а когда - просто пустая трата времени. Если вы разработчик Android и задаетесь вопросом, приносите ли вы больше вреда, чем пользы, следуя этому шаблону, эта статья для вас.

#android #usecase #bestpractice #architecture

https://habr.com/ru/articles/845604/
Сегодня мы подробно разберём, как интегрировать механизм Dynamic Feature Delivery в современную архитектуру Android‑приложения с использованием корутин, а также протестируем загрузку и установку динамического модуля, использующего Flutter.

#android #architecture #dfd

https://habr.com/ru/companies/yandex/articles/845344/
Статья рассчитана на разработчиков, которые знакомы с базовыми концепциями Android-разработки, но хотят освоить более структурированные и поддерживаемые подходы к разработке. Мы создадим приложение Just Notes, которое позволит управлять заметками: добавлять, редактировать, удалять и просматривать их на главном экране.

В процессе мы будем следовать лучшим практикам, таким как разделение на слои data, domain, и presentation, и применение принципов SOLID. Мы рассмотрим основные этапы разработки, начиная от настройки проекта и добавления зависимостей, до реализации сложных сценариев использования, включая навигацию и управление состоянием с помощью ViewModel.


#android #architecture

https://habr.com/ru/articles/854450/