Сергей Рябов - Как приготовить хорошо прожаренный MVI под Android

  Рет қаралды 15,998

Mobius

Mobius

5 жыл бұрын

Ближайшая конференция - Mobius 2024 Autumn, 11 октября (Online), 19-20 октября, Санкт-Петербург. Подробности и билеты: jrg.su/Yu6KNJ
- -
. . .
. Интересный рассказ о чуть менее известной в Android архитектуре, которая многим может прийтись по вкусу, от опытного докладчика Mobius!
Реактивное программирование прочно закрепилось в инструментарии современного Android-разработчика. Но большинство использует реактивщину лишь в отдельных частях приложения, которые затрагивают фоновую работу. А что если целиком спроектировать приложение, полагаясь на реактивные паттерны, что если всё наше приложение представить в виде одного стрима данных? Вы наверняка слышали про Redux из мира веба. Несмотря на то, что в чистом виде этот подход для Android не особо годится, нам определённо есть что позаимствовать у него.
В этом докладе мы поговорим о том, как можно адаптировать Unidirectional Data Flow под текущие реалии разработки под Android и как нам в этом поможет Kotlin и его ключевые фичи. А также посмотрим на примеры реализации типичных юзкейсов в этом подходе.

Пікірлер: 4
@ArtyomKhateev
@ArtyomKhateev 5 жыл бұрын
Спасибо за доклад, полезный!
@robgas45
@robgas45 2 жыл бұрын
Why do u use RX all time. Time to change your approach.
@vadzimv
@vadzimv Жыл бұрын
Спасибо за доклад! Классные схемы, примеры и объяснения. Здорово что есть отсылки к истокам мыслей о UDF. Есть пару вопросов: 1. О clean architecture. Непонятно как можно middleware в отдельный слой вынести, у них же есть зависимость на actions, что ведет к циклической зависимости между слоями. 2. Как store может переживать process death? у меня первой мыслью было сохранять состояние, а в новом процессе использовать как изначальное. но это не сработает если данные уже начали загружаться, т.е. после востановления у нас будет стейт лоадинг, но midleware ничего не будет загружать. выходит что состояние загрузки в middleware не отражается в общем состоянии и как бы является вторым source of truth, да? 3. какие есть рекомендации по взаимодействию между экранами? Как и всегда, через бд либо результатами у fragments/activity передовать действия между сторами? пример к вопросу: есть список, я выбираю элемент и открывается новый экран, жму удалить и когда возвращаюсь на список ожидаю что там удаленного айтема уже не будет. Как такой на каноническом MVI сделать?
@busenish_murmenish
@busenish_murmenish 3 жыл бұрын
За ДВА года комментарий О_о. Это ж MVI!
Все тайны MVI
1:30:52
Android Broadcast. Все об Андроид разработке
Рет қаралды 13 М.
Swift. Methods Dispatch.
44:17
Программирование - интерес жизни
Рет қаралды 1,2 М.
Степан Гончаров - Gradle от A до Я
51:31
Managing State with RxJava by Jake Wharton
51:23
Devoxx
Рет қаралды 107 М.
MVI в Android на практике
19:20
Тимофей Коваленко
Рет қаралды 14 М.
WWDC 2024 Recap: Is Apple Intelligence Legit?
18:23
Marques Brownlee
Рет қаралды 6 МЛН
SSD с кулером и скоростью 1 ГБ/с
0:47
Rozetked
Рет қаралды 321 М.
Asus  VivoBook Винда за 8 часов!
1:00
Sergey Delaisy
Рет қаралды 1,1 МЛН
APPLE совершила РЕВОЛЮЦИЮ!
0:39
ÉЖИ АКСЁНОВ
Рет қаралды 4,1 МЛН