Разработка ждёт балета
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
@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/
Новость про декабрьский релиз AndroidX, если вы, как и я, её пропустили. Вышел alpha API для сохранения состояния ViewModel, если кому актуально.

#androidx #viewmodel #architecture
Статья с 5-ю распространёнными ошибками при работе с ViewModel и LiveData из Architecture Components. 4 из них, на мой взгляд, - буллшит. Но вот первый пункт обязателен к изучению всем, кто со всем этим безобразием работает. И именно из-за него вся статья хорошая.

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

#viewmodel #architecture #components
Иногда натыкаюсь на странное непонимание сабжа некоторыми разработчиками, поэтому держите две статьи (хоп и хэй). Это своеобразный ликбез про доставку событий до View ровно один раз. В статьях есть потенциальные проблемы, но в качестве tutorial пойдёт.

#view #viewmodel #livedata