StartAndroid
10.2K subscribers
382 photos
11 videos
5 files
1.83K links
Канал об Android (Андроид) разработке

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

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

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

Реклама - https://startandroid.ru/ru/about/reklama.html

РКН - https://shorturl.at/p7iUr
Download Telegram
Видео для начинающих о том, как устроен простой data layer в приложении: репозиторий, сеть, БД, типы данных, тесты.

#android #architecture

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

#architecture #pattern #solid

https://habr.com/ru/articles/739734/
👍24😁7👎3
Полезные советы по работе с репозиториями:
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
👍10
Пример создания простого приложения с использованием текущих трендов и рекомендаций.

#android #architecture

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

#android #kotlin #usecase #architecture

https://dladukedev.com/articles/042_avoid_useless_cases_part_2/
👎60🤨15🤔8👍6💩3😁1
Рассуждения на тему, где и в какой момент лучше загружать данные: LaunchedEffect или ViewModel.init()

#android #kotlin #compose #architecture

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

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

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


#android #architecture #mapping

https://habr.com/ru/articles/839362/
👎12🤔8👍21
Вторая часть статьи про начальную загрузку данных в 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
👍12🎉3👎1
Если вы уже определенное время занимаетесь разработкой Android, вы, вероятно, слышали о UseCases. Их часто представляют как Святой Грааль Clean architecture. UseCases призваны отделить бизнес-логику от Presentation и Data слоев, сделав ваш код более модульным, переиспользуемым и тестируемым. Но вот в чем загвоздка: UseCases не всегда являются серебряной пулей. На самом деле, слепое их применение может привести к раздутому коду и ненужной сложности, чего как раз и пытается избежать Clean Architecture. В этой статье мы развенчаем миф о UseCases и обсудим, когда они необходимы, а когда - просто пустая трата времени. Если вы разработчик Android и задаетесь вопросом, приносите ли вы больше вреда, чем пользы, следуя этому шаблону, эта статья для вас.

#android #usecase #bestpractice #architecture

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

#android #architecture #dfd

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

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


#android #architecture

https://habr.com/ru/articles/854450/
16👍9
Разбираем архитектуру. Часть 1. Чистая архитектура и её корни: история и взаимосвязи

Цель этой статьи — объединить и кратко изложить все базовые архитектурные подходы: их терминологию, концепции и отличительные черты. Собрать всё воедино, чтобы можно было относительно быстро вникнуть в основы.


#architecture

https://habr.com/ru/articles/905148/
👍9
Ликбез по UseCase’ам Android

Какое отношение юзкейсы имеют к Чистой архитектуре? Юзкейс (Use Case) — это основной элемент в этой философии. Он представляет собой отдельную операцию с единственной ответственностью в рамках вашего приложения.

Как и остальные компоненты в Чистой архитектуре, юзкейсы соответствуют определенному шаблону: их интерфейсы определяются в слое домена, а реализации находятся в слое данных. Этот подход способствует соблюдению сразу нескольких принципов SOLID.

#architecture #betstpractices #solid #usecase

https://habr.com/ru/companies/otus/articles/925614/
🥱19👍51👎1