Size: a a a

Moxy – MVP библиотека под Android

2020 June 17

MM

Mikhail Mustakimov in Moxy – MVP библиотека под Android
Alexey Pushkarev
Не, смотри. Вот такой кейс. Расскажу как решал на шаред вью моделе.

Есть у нас fab который на некоторых экранах надо показать, а на некоторых скрыть. Я просто сделал для нее отдельную shared view model с булевым флагом livedata. Ну и собственно его менял и на определенных фрагментах показывал/скрывал.
У меня нечто подобное было, решал через shared model (под капотом BehaviourSubject из RxJava)
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
Ilya Gulya
MVVM привносит свои приятные неожиданности типа SingleLiveEvent
Вообще из всех стратегий Мокси мне кажутся полезными 2: AddToEndSingle и OneExecution. Собственно, State и Event. Полные аналоги их можно сделать на вьюмоделях, а больше разницы ну совершенно никакой между ними.
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
если не использовать странное вроде шаред VM)
источник

IG

Ilya Gulya in Moxy – MVP библиотека под Android
Алексей Ершов
Вообще из всех стратегий Мокси мне кажутся полезными 2: AddToEndSingle и OneExecution. Собственно, State и Event. Полные аналоги их можно сделать на вьюмоделях, а больше разницы ну совершенно никакой между ними.
Да, всё так.
источник

IG

Ilya Gulya in Moxy – MVP библиотека под Android
Я вообще щас пытаюсь перевозить части проекта на Redux (MVI)
источник

IG

Ilya Gulya in Moxy – MVP библиотека под Android
Пока что приятно получается в паре с Moxy
источник

IG

Ilya Gulya in Moxy – MVP библиотека под Android
Но это про M
источник

AP

Alexey Pushkarev in Moxy – MVP библиотека под Android
а вообще если свое MVP делать, то там по сути будет поведение такое, что если вьюхи нет (недоступна), то проебываем команду и все.
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
да, и потому хвала мокси)
источник

AP

Alexey Pushkarev in Moxy – MVP библиотека под Android
Алексей Ершов
да, и потому хвала мокси)
ну если мне ок всегда команду просрать когда вьюха недоступна, то получается пользы от мокси мало. Только лишняя кодогенерация.
источник

IG

Ilya Gulya in Moxy – MVP библиотека под Android
Правильный MVVM будет когда мы дождёмся JetPack Compose :)
источник

IG

Ilya Gulya in Moxy – MVP библиотека под Android
Alexey Pushkarev
ну если мне ок всегда команду просрать когда вьюха недоступна, то получается пользы от мокси мало. Только лишняя кодогенерация.
Это никогда не ок
источник

IG

Ilya Gulya in Moxy – MVP библиотека под Android
Потому что потенциально часы дебага в случае неожиданности
источник

IG

Ilya Gulya in Moxy – MVP библиотека под Android
Было не раз и не два
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
Ilya Gulya
Правильный MVVM будет когда мы дождёмся JetPack Compose :)
революция грядёт
источник

AP

Alexey Pushkarev in Moxy – MVP библиотека под Android
Алексей Ершов
революция грядёт
ну даже если он себя зарекомендует хорошо, то все равно еще много лет легаси на обычных вьюшках будут
источник

IF

Ivan Fedotov in Moxy – MVP библиотека под Android
Alexey Pushkarev
ну даже если он себя зарекомендует хорошо, то все равно еще много лет легаси на обычных вьюшках будут
это жизнь 🙂
источник

AP

Alexey Pushkarev in Moxy – MVP библиотека под Android
ну да
источник

AD

Aleksey D. in Moxy – MVP библиотека под Android
Alexey Pushkarev
ну если мне ок всегда команду просрать когда вьюха недоступна, то получается пользы от мокси мало. Только лишняя кодогенерация.
команду ок просрать, если живешь с Redux-ом под капотом - просто при повторном появлении вьюхи применяешь последний актуальный стейт.

если же говорить про самопис, то что мешает сделать что-то вроде:
class Presenter {
 fun onHandleResult() {
   this.applyOnlyOnce { it.showHandeledResult() }
 }
}

кода будет чуточку больше, но суть Moxy перенесешь без потерь почти)
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
если под капотом крутая реактивная stateful архитектура, то почти без разницы что там на presentation. К этому, наверное, надо стремиться, а все эти MV штуки больше для начинающих разработчиков и небольших приложений
источник