Kotlin Flow. SharedFlow. StateFlow [Ru, Kotlin] / Мобильный разработчик

preview_player
Показать описание
Всем привет!
В этом году будет много интересных разборов новых тем, потому что мобильная разработка, и в частности Котлин, не стоит на месте. Сегодня у нас на столе Flow и мы посмотрим как эта технология устроена, как ее применять и зачем ее применять 🙂
Надеюсь, вам будет интересно. Также если я вдруг не осветил какой-то момент, который вам кажется интересным, обязательно пишите в комментариях и, возможно, будет второе видео

Полезные ссылки

Напоминаю, что видео вначале выходят для моих патронов. Стать патроном можно по ссылке ниже
===========================================
Стать Патроном канала и получить доступ к уникальному материалу
===========================================

Мобильный разработчик в других соц. сетях
=======================
=======================

Ставь лайк и расскажи друзьям, чтобы они тоже попробовали эту технологию
Рекомендации по теме
Комментарии
Автор

00:36 — Что такое Flow?
04:16 — Backpressure
08:26 — Dispatchers
14:09 — Combining
15:36 — SharedFlow. StateFlow
22:55 — Шутка
23:07 — Практическая часть
34:14 — Заключение

paulk
Автор

Тема хорошая, спасибо.
Но подача, просто жесть!
Постоянно маячит дурацкая надпись и сетка. Зачем? Код появляется на мгновение и исчезает.
Автор говорит грамотно, но из-за выше сказанного, очень трудно воспринимать.

sankarsana
Автор

Предлагаю картинки с кодом вставлять "25 кадром", сразу так сказать в подкорку зрителю записывать ))

DmitryKatsubo
Автор

Алексей Вы прекрасно доносите информацию. И Перфоменс будет интересен многим. Спасибо

yuriyg
Автор

Для холодных/горячих цепочек flow можно использовать аналогию проигрывания музыкального альбома с компакт-диска (cold) и подключения к эфиру радиостанции (hot).

RomanTokarenko
Автор

спасибо за видео, Алексей). Недавно рх учил, теперь смотрю про flow

kafychannel
Автор

Спасибо за видео! Очень классный разбор

vaaskout
Автор

Спасибо! Очень понравилось! Вы круто объясняете! Теперь буду разбираться с операторами комбинации))

antonaronov
Автор

7:00, "раз у нас коллектор запущен в отдельной корутине, и эмиттер запущен в отдельной корутине, то им нужно между собой где-то общаться...". Самое логичное - назвать эту корутину базой (спасибо дедушке-транзистору)

kirillsushilnikov
Автор

Большое спасибо автору, классное видео)

zzsdroc
Автор

Крайне полезная информация, но, как уже ранее было замечено, не стоит так быстро убирать код. А в целом - спасибо большое, ждем новый материал 🙂👍

amgomg
Автор

Все понравилось,
Но незачем прятать код так быстро
Надо паузу ставить и смотреть
Пока подпишусь, но надеюсь в будущем такого не будет, а то больно
И не надо торопится

xuwmfwb
Автор

Спасибо большое. Про Каналы тоже интересно будет услышать. Спасибо

yuriyg
Автор

Как-то под конец 2020 оставил комментарий "что, было бы неплохо запилить видос про Flow). Ждали - держите. Спасибо тебе Алексей.

pixmaky
Автор

Есть пример шины на SharedFlow? (которая работает между экранами)
если я использую DI, нужно прокидывать ссылку на шину и хранить в ней разные ивенты (так я делал с rxSubject)

потом доставал и подписывался на каждый ивент по его типу
каким образом лучше вытаскивать ивенты, смотря на их тип из flow?

Например если я из Service хочу отправить будущему Activity (который когда-то откроется) ивент, мол покажи "какой-то текст"
когда он откроется, подпишется на ивент и выполнит его

karvinok
Автор

12:30
Я писал про устаревание билдера.
"Оператор flowOn является обычным цепочечным оператором билдера..."
flowOn это extension функция, о каком операторе билдера идёт речь?

ocpyvys
Автор

27:45 зачем делать value внутри MutableStateFlow Nullable? Это горячий флоу и не припомнится мне состояния View “null”. Как это отображается?

arturmavlyuchenko
Автор

То чувство, когда ты сделал такую ж архитектуру ещё до выхода видео...Было бы классно ещё и тесты на все это дело написать! )

ivanchepelkin
Автор

Алексей, у вас всегда хорошие видео, но не в этот раз :(
Чтоб увидеть слайды, приходилось стопить видео,
Во-вторых речь очень быстрая, и мне человеку который не работал с флоу, очень тяжело успевать за контекстом, так что приходилось несколько раз отматывать назад.
В третьих сетка с логотипом это жесть :) мне приходилось закрывать глаза, чтоб в слушиваться в текст, она реально меня сбивала и у меня в голове была каша

fmjmydn
Автор

28:39
Менять SingleEvent на StateFlow не лучшее решение - при каждом пересоздании экрана будут повторяться event'ы. Более подходящее решение SharedFlow.

ocpyvys