Size: a a a

Kotlin Community

2020 April 12

IS

Ivan Sablin in Kotlin Community
Ну колбек еще можно понять, если все происходит в одном месте, тригерится и обраатывается, а если это разные модули образно скажем, которые ничего про друг друга не знают
источник

AN

Alexander Nozik in Kotlin Community
Pavel Shilyagov
Именно так работают все Rx-based мобильные приложения)
Так, в смысле на реактивных стримах из одного элемента? Я это предполагал, но это не обязано мне нравиться.
источник

AN

Alexander Nozik in Kotlin Community
Ivan Sablin
Ну колбек еще можно понять, если все происходит в одном месте, тригерится и обраатывается, а если это разные модули образно скажем, которые ничего про друг друга не знают
Мне сложно судить, не видя архитектуры. Я просто хочу напомнить, что на Flow при всей его полезности и приятности, свет клином не сошелся. Есть еще обыкновенные корутины.
источник

IS

Ivan Sablin in Kotlin Community
ну это то понятно, но я его использую в тех случаях, когда данные могут изменяться разными модулями, а узнать об этом должны все
источник

AN

Alexander Nozik in Kotlin Community
Не буду спорить.
источник

PS

Pavel Shilyagov in Kotlin Community
Alexander Nozik
Так, в смысле на реактивных стримах из одного элемента? Я это предполагал, но это не обязано мне нравиться.
Так и мне это не нравиться. В большинстве мобильных приложений (формочки для json) это оверинжениринг
источник

AN

Alexander Nozik in Kotlin Community
Pavel Shilyagov
Так и мне это не нравиться. В большинстве мобильных приложений (формочки для json) это оверинжениринг
Ну я понимаю, откуда это вылезло. В джаве там на этом месте был полный callback hell, да еще и интенты асинхронные. Но в котлин с корутинами, как мне кажется, без этого можно обойтись. Повторюсь, что спорить не буду, поскольку надо архитектуру смотреть и весьма возможно, что они исходно спроектирвоана под все эти single или как их там.
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Nozik
Ну я понимаю, откуда это вылезло. В джаве там на этом месте был полный callback hell, да еще и интенты асинхронные. Но в котлин с корутинами, как мне кажется, без этого можно обойтись. Повторюсь, что спорить не буду, поскольку надо архитектуру смотреть и весьма возможно, что они исходно спроектирвоана под все эти single или как их там.
вот да, корутины выглядели как смерть неправильно применяемому ырыксу, я никак не ожидал, что его напишут снова
источник

AN

Alexander Nozik in Kotlin Community
Quantum Harmonizer
вот да, корутины выглядели как смерть неправильно применяемому ырыксу, я никак не ожидал, что его напишут снова
Я думаю, что надо подождать. Появится больше людей, которые умеют это использовать и соответствующим образом проектировать приложения, и оно переползет. А потом напишут Очень Умную Книгу и все начнут молиться на очередную "архитектуру", не думая о том, где ее надо применять, а где нет.
источник

QH

Quantum Harmonizer in Kotlin Community
reactive FTW
источник

QH

Quantum Harmonizer in Kotlin Community
источник

AN

Alexander Nozik in Kotlin Community
ага, но еще смысл в том, что на корутинах можно первый вариант завернуть в корутину и усе, будет реактивно. Ну только архитектуру надо переписать. К примеру отправка емэйлов должна быть актором со входным каналом
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Nozik
ага, но еще смысл в том, что на корутинах можно первый вариант завернуть в корутину и усе, будет реактивно. Ну только архитектуру надо переписать. К примеру отправка емэйлов должна быть актором со входным каналом
Я сейчас телеграм-бота пилю, так там в библиотеке уже есть «эффекты» вроде SendMessage(toId, text). Стал возвращать итератор этих эффектов и исполнять их в одном месте, так что возможная асинхронщина не проникает в бизнес.
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
ага, но еще смысл в том, что на корутинах можно первый вариант завернуть в корутину и усе, будет реактивно. Ну только архитектуру надо переписать. К примеру отправка емэйлов должна быть актором со входным каналом
Там реактивность нафиг не нужна, это простой императивный код.
У Flux сразу делается collectList(), т.е. Flow был бы ни к чему.
источник

AP

Alexey Pushkarev in Kotlin Community
Ребят, а как в Flow  правильно сделать обработку cancel? То есть когда у меня есть некий flow, который мой метод возвращает. Мне нужно чтобы когда отменили  скоуп, в котором делали collect, вызвался внутри метод по освобождению ресурсов, подписки отписать и т д.
источник

AP

Alexey Pushkarev in Kotlin Community
с RX у меня был disposable/subscription а тут что-то не знаю best practices
источник

AN

Alexander Nozik in Kotlin Community
Alexey Pushkarev
Ребят, а как в Flow  правильно сделать обработку cancel? То есть когда у меня есть некий flow, который мой метод возвращает. Мне нужно чтобы когда отменили  скоуп, в котором делали collect, вызвался внутри метод по освобождению ресурсов, подписки отписать и т д.
В большинстве случаев обычный try-catch-finally вокруг collect все сделает
источник

AP

Alexey Pushkarev in Kotlin Community
Alexander Nozik
В большинстве случаев обычный try-catch-finally вокруг collect все сделает
не не, это получается обработка уже снаружи
источник

AP

Alexey Pushkarev in Kotlin Community
а мне надо внутри flow скрыть это
источник

AP

Alexey Pushkarev in Kotlin Community
я думал внутри flow  запускать новую корутину и там invokeOnCancelation что-то такое что ли сделать
источник