Size: a a a

Android Dev Подкаст

2019 May 01

DN

Denis Nek (slow response) in Android Dev Подкаст
Nikita Yatskivskiy
Всем привет)
А в этом чатике ещё остались ребята с Badoo? По Mvicore хотел спросить)
источник

AS

Andrei Shikov in Android Dev Подкаст
Привет, спрашивайте :)
источник

NY

Nikita Yatskivskiy in Android Dev Подкаст
@shikasd привет)
Я переслушал выпуск, пересмотрел документацию, сэмпл и всё равно не понял - как происходит общение между фичами?)
Например, Feature1 хочет попросить Feature2 выполнить какую-либо работу и получить от неё результат. Получается, что Feature1 отправляет Wish в Feature2, затем Feature2 выполняет какую-либо работу и возвращает результат посредством News. Этот News попадает в Bootstrapper Feature1, где преобразуется в Wish или Action Feature1. Так?)
источник

ST

Sasha Tainyuk in Android Dev Подкаст
Ответ на самый главный вопрос - почему idea так много жрет памяти.😁
https://youtu.be/dESTHqpcPig?t=27m12s
источник

AS

Andrei Shikov in Android Dev Подкаст
@NikiJava
Тут все немного проще (ну или сложнее, смотря как посмотреть)
Мы обычно собираем Feature таким образом, чтобы она не знала про другие, по крайней мере внутри себя. Таким образом, в твоем кейсе у нас получится Feature1 будет отправлять News, что надо чтот сделать, которые будут трансформироваться в Wish для Feature2. Обратно произойдет то же самое: Feature2 отправляет News, когда все сделано, который преобразуется в Wish для Feature1.

Они общаются через внешний API (обычно с помощью Binder), поэтому это все идет обычной цепочкой сразу в Actor, т.к. Bootstrapper служит немного для других целей.

Ну и в целом, я не уверен, что это хорошая идея - делегировать именно небольшую работу в фичу, так как в таком кейсе часто нет стейта. Обычно можно выполнить работу, спрятав ее за Observable, который стартует из Actor.
источник

NY

Nikita Yatskivskiy in Android Dev Подкаст
@shikasd Поучается, что в этой строчке мы привязываем просто некий листенер к источнику News от Feature2. А если мы хотим его к Feature1 привязать, то здесь мы пишем  feature2.news to… А к чему, собственно, у Feature1 мы будем биндить источник News Feature2?))
binder.bind(feature2.news to newsListener named "MainActivity.News")
источник

AS

Andrei Shikov in Android Dev Подкаст
@NikiJava
коннектим напрямую к инпуту другой Feature
примерно так
 
bind(feature1.news to feature2 using Feature1NewsToFeature2Wish)
bind(feature2.news to feature1 using Feature2NewsToFeature1Wish)
источник

NY

Nikita Yatskivskiy in Android Dev Подкаст
@shikasd А непосредственно отправкой News займётся Middleware, получается?
источник

AS

Andrei Shikov in Android Dev Подкаст
@NikiJava
Middleware -  это просто слой который навешивает логгинг или всякую такую тему, отправкой ивентов он не занимается (в отличие от Redux middleware).

Самой отправкой занимается NewsPublisher в Feature. Он получает на вход цепочку событий (Action -> Effect -> State) и может отправлять News, базируясь на этих знаниях.
источник

AS

Andrei Shikov in Android Dev Подкаст
вот тут
https://github.com/badoo/MVICore/blob/master/mvicore-demo/mvicore-demo-feature2/src/main/java/com/badoo/feature2/Feature2.kt

внизу там как раз NewsPublisher, который отправляет News про ошибку, который мы потом показываем в тосте
источник

NY

Nikita Yatskivskiy in Android Dev Подкаст
@shikasd
Это понятно) Получается, что NewsPublisher отправит News, этот News попадёт в Middleware, поскольку тот будет создан при биндинги через to, а он уже доставит News до другой фичи? Меня интересует схема, как в итоге News попадёт в другую фичу)
источник

AS

Andrei Shikov in Android Dev Подкаст
@NikiJava
А это очень просто
По сути мы делаем обычный rx subscription в binder. Он отвечает и за middleware, и за преобразование элементов из одного типа другой.

По сути, там делается
feature1.news.map(NewsToWish).subscribe(feature2)
источник
2019 May 06

A

Anton in Android Dev Подкаст
Плейлист докладов с AppBuilders, доклад @nekdenis тоже есть 🙂 https://www.youtube.com/playlist?reload=9&list=PLLcE3DL3f5Bx0IAHAw6hsdZ3z_samz2iX&app=desktop
источник

ST

Sasha Tainyuk in Android Dev Подкаст
Спасибо
источник

⁣p4tr3g in Android Dev Подкаст
Denis Nek (slow response)
отправляй данные между активити через контекст application и будет у тебя все хорошо, как и раньше!
пасиба)
источник

ST

Sasha Tainyuk in Android Dev Подкаст
@nekdenis как так получилось что датабайдинг и кул оказались в одном предложение? 🤔
источник

DN

Denis Nek (slow response) in Android Dev Подкаст
Sasha Tainyuk
@nekdenis как так получилось что датабайдинг и кул оказались в одном предложение? 🤔
Где???? Я был опьянен наверное видами Лугано
источник

DN

Denis Nek (slow response) in Android Dev Подкаст
Я репетировал говоря, что датабиндинги Найс, но юзать их не надо
источник

ST

Sasha Tainyuk in Android Dev Подкаст
Denis Nek (slow response)
Где???? Я был опьянен наверное видами Лугано
В момент когда начал рассказывать про мввм. Я аж 4 раза переслушал, думал показалось. Но нет, не показалось.😂
источник

RB

Roman Byakov in Android Dev Подкаст
Жду дня их деприкейтед
источник