Разработка ждёт балета
1.66K subscribers
509 photos
4 videos
15 files
1.54K links
What I cannot create, I do not understand.

DM: @alexey_mileev
PeerLab: https://xn--r1a.website/+e2ND1tAa0lU2ZTli
Download Telegram
Внезапно в Architecture Components добавили Paging Library - название вроде бы говорит само за себя.

#pagination #architecture #components
https://developer.android.com/topic/libraries/architecture/paging.html
Мы тут недавно вспомнили, что Google обещали выложить исходники Architecture Components, но как-то всё это дело прошло мимо нас и мы их не видели. Так вот, они всё-таки есть, может и вам пригодится.
- Lifecycle, LifecycleOwner, LifecycleObserver и прочее разное: https://android.googlesource.com/platform/frameworks/support/+/master/lifecycle/common/src/main/java/android/arch/lifecycle
- ViewModel, LiveData и т.п.: https://android.googlesource.com/platform/frameworks/support/+/master/lifecycle/extensions/src/main/java/android/arch/lifecycle
- Paging: https://android.googlesource.com/platform/frameworks/support/+/master/paging/common/src/main/java/android/arch/paging
- Room: https://android.googlesource.com/platform/frameworks/support/+/master/room/common/src/main/java/android/arch/persistence/room

#source #architecture #components
@Harmonizr прислал статью, в которой критикуют ViewModel. Все доводы по сути опираются на то, что ViewModel не умеет переживать смерть процесса и, чтобы сохранить состояние, приходится городить костыли. Ну, тут сложно поспорить, всё действительно так. Но у меня есть несколько противопоставлений:
1. Иногда действительно нужно сохранять много. Вот бывают такие кейсы, ничего с этим не сделаешь. А поскольку Android будет в нас плеваться TransactionTooLargeException, эти данные мы всё равно потеряем и будем грузить заново
2. В некоторых случаях действительно можно наплевать на save and restore flow. Например, если в куске аппа не требуется никакого persistence, сессия истекает через 10 минут, а данных больно много
3. Ну и были слухи, что Google что-то накрутит для save and restore у ViewModel, если мне не изменяет память
Ну и да, в App in the Air мы довольно активно пользуемся ViewModel и LiveData. Нам они здорово помогают. Я считаю, что нельзя выбирать технологию X и говорить, что её не надо использовать. У всего есть своя область применимости. Использование мозга никто не отменял. Пользуйтесь тем, что решает вашу задачу хорошо.

#viewmodel #architecture #components
https://www.techyourchance.com/android-viewmodel-architecture-component-harmful/
Статья с 5-ю распространёнными ошибками при работе с ViewModel и LiveData из Architecture Components. 4 из них, на мой взгляд, - буллшит. Но вот первый пункт обязателен к изучению всем, кто со всем этим безобразием работает. И именно из-за него вся статья хорошая.

#viewmodel #livedata #components
Вот тут пролили немного света на то, как выглядит использование SavedStateVMFactory и SavedStateHandle из первой альфы lifecycle-viewmodel-savedstate библиотеки. Напомню, это та штука, которая должна позволить ViewModel корректно вести себя при смерти процесса.

#viewmodel #architecture #components