@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/
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/
TechYourChance
Android ViewModel Architecture Component Considered Harmful
My thoughts about the new ViewModel Architecture Component. In my opinion, it is completely unnecessary framework which is destined to share Loaders fate.
Новость про декабрьский релиз AndroidX, если вы, как и я, её пропустили. Вышел alpha API для сохранения состояния ViewModel, если кому актуально.
#androidx #viewmodel #architecture
#androidx #viewmodel #architecture
Статья с 5-ю распространёнными ошибками при работе с ViewModel и LiveData из Architecture Components. 4 из них, на мой взгляд, - буллшит. Но вот первый пункт обязателен к изучению всем, кто со всем этим безобразием работает. И именно из-за него вся статья хорошая.
#viewmodel #livedata #components
#viewmodel #livedata #components
Medium
5 common mistakes when using Architecture Components
Subtle oversights with more or less serious consequences - even if you’re not making these mistakes it should be worth keeping them in…
Вот тут пролили немного света на то, как выглядит использование
#viewmodel #architecture #components
SavedStateVMFactory и SavedStateHandle из первой альфы lifecycle-viewmodel-savedstate библиотеки. Напомню, это та штука, которая должна позволить ViewModel корректно вести себя при смерти процесса. #viewmodel #architecture #components
zsmb.co
An Early Look at ViewModel SavedState - zsmb.co
A quick preview of the new SavedState support for Android Architecture Component ViewModels.
Иногда натыкаюсь на странное непонимание сабжа некоторыми разработчиками, поэтому держите две статьи (хоп и хэй). Это своеобразный ликбез про доставку событий до
#view #viewmodel #livedata
View ровно один раз. В статьях есть потенциальные проблемы, но в качестве tutorial пойдёт.#view #viewmodel #livedata
Medium
LiveData with SnackBar, Navigation and other events (the SingleLiveEvent case)
2021 Update: This guidance is deprecated in favor of the official guidelines.
Записал второй выпуск "Сам напишу" о ViewModel. Получилось прямо очень коротко. Сначала ожидал, что найду там что-то интересное, чтобы поковыряться и поговорить, а на деле всё оказалось очень просто и тривиально.
RSS • Google Podcasts • Apple Podcasts • Pocket Casts • Spotify • Overcast • Castbox • Яндекс.Музыка
#podcast #viewmodel
RSS • Google Podcasts • Apple Podcasts • Pocket Casts • Spotify • Overcast • Castbox • Яндекс.Музыка
#podcast #viewmodel
Spotify for Creators
Сам напишу • A podcast on Spotify for Creators
Здесь я рассказываю о том, как устроены разные открытые библиотеки, фреймворки и приложения и делаю это так, чтобы после прослушивания становилось понятно, как написать то же самое самому.