Size: a a a

Android Architecture

2021 July 07

P

Pavel in Android Architecture
Предоставление стейта юзера - это скорее задача слоя данных (мы же всё-таки подразумеваем Clean? :) ).
Локальное хранилище (база данных) - да, единое на всё приложение.
Каждая фича может оборачивать его в свои репозитории. Стейт один, но фичам пофиг на это - они просто берут данные откуда-то.
А MVI - это скорее UI-ный паттерн. Так что и стейт там UI-ный, свой на каждый экран.
источник

P

Pavel in Android Architecture
И стейт юзера в данном случае может быть по-разному представлен в разных фичах. Данные одни, а отображение разное.
источник

ML

Mikhail Levchenko in Android Architecture
> А MVI - это скорее UI-ный паттерн

Ты ещё пока не достиг дзена
источник

С

Слава in Android Architecture
Расскажешь, как у вас на все приложение один объект?
источник

P

Pavel in Android Architecture
Тоже интересно :)
источник

(

( in Android Architecture
примерно как в любом приложении  на эльме или re-core
источник

(

( in Android Architecture
нет, не re-core, как он там называется
источник

(

( in Android Architecture
@themishkun помоги
источник

(

( in Android Architecture
а, re-frame
источник

ML

Mikhail Levchenko in Android Architecture
Давай лучше наоборот – какие проблемы ты от этого видишь?
источник

С

Слава in Android Architecture
Пока непонятно, что он себя представляет. Это только состояние UI объектов или включая внутреннее состояния бд/etc.

Самое простое, что вижу - это объект, который содержит состояние активного экрана, которое реализовано отдельным объектом и тут сложностей нет. + какой-нибудь Application-level редюсер для запуска переходов между экранами, применения измененного состояния экрана.

Я могу вообразить +-, но больше интересно, как в конечном итоге реализовано и на сколько проще с этим работать.
источник

ML

Mikhail Levchenko in Android Architecture
ну начнём с того, что в UDF архитектурах желательно не только состояние UI но и логики держать в одном месте, так с ним в 1000 раз удобнее работать. Это вне зависимости от размера стейта

В верхнеуровневом стейте композиция стейтов открытых экранов и доп фигня типа юзеров и прочего бекграунда. Переходы просто пушат состояния экранов в структуру данных типа стека
источник

АЕ

Алексей Ершов... in Android Architecture
А можешь сниппет кода закинуть куда-то на джист? Просто интересно посмотреть как это выглядит) Сами объекты, которые моделируют стейт, верхнеуровневый и экранный, например.
источник

AA

Axbor Axrorov in Android Architecture
Reframe is the #1 most comprehensive alcohol reduction program.
вот что нашел по re-frame android ))
источник

(

( in Android Architecture
источник

AA

Axbor Axrorov in Android Architecture
спасибо
источник

P

Pavel in Android Architecture
Это могло бы многое объяснить 🤣😂
источник

I

Igor in Android Architecture
У них еще годная документация с картинками https://day8.github.io/re-frame/a-loop/
Там и про ui-цикл объясняется и про эффекты с ко-эффектами, подписки и тд
источник

ML

Mikhail Levchenko in Android Architecture
https://github.com/Mishkun/Puerh/blob/master/app/src/main/kotlin/io/github/mishkun/puerh/sampleapp/toplevel/logic/TopLevelFeature.kt

Это давнёшний пример, надо его пересмотреть и внедрить туда кое-какие идеи, которые я подчерпнул из книжки про Data-Oriented Programming
источник

M

Maksim Gridin in Android Architecture
+
У меня тоже стейт фичи при каждом изменении сохраняется в локальном хранилище и любая другая фича может его прочитать

может я конечно и не достиг дзена MVI, но так работать удобно )
источник