Ontoshgo
Почему?
потому что это тупой неотесаный костыль для казуальщиков
Ontoshgo
по дефолту не умеет канцелиться Держит ссылку на таргет для доставки результата
Ontoshgo
этого недостаточно?
Vitaly
Это исправимо
Сергій
Оп, срачик rx vs everything
Ontoshgo
Anatoly
Не понятно чем вам не угодил rx?
Kanstantsin
пошла жара
Vitaly
В общем, у меня путаница, есть вот следующие крутые и не очень кейсы для работы с потоками: Thread, Executor, Handler, AsyncTask, RxJava и корутины Kotlin (если есть ещё оповестите пожалуйста) Что, где и когда нужно использовать? Недавно мне сказали, что это всё устарело и для потоков только rxJava нужно использовать, а всё остальное использовали деды лет 5 назад (немного преувеличено, но суть та же) Так вот не могли бы немножко подправить мою картину мира по потокам?
Ontoshgo
Это исправимо
если это надо исправлять, чет тогда это лучше стандартного треда и хендлера?
Ontoshgo
Умеет. Ничего оно само не держит, если не захватишь.
я говорю за кейс, когда ты уже зашел в doInBackground
Vitaly
Если я например изучу корутины в Kotlin, то что ещё мне может понадобиться кроме них? Или неужели корутины решают все те задачи, что решают остальные 5 кейсов?
Ontoshgo
канцелит до и после него
Mike
В общем, у меня путаница, есть вот следующие крутые и не очень кейсы для работы с потоками: Thread, Executor, Handler, AsyncTask, RxJava и корутины Kotlin (если есть ещё оповестите пожалуйста) Что, где и когда нужно использовать? Недавно мне сказали, что это всё устарело и для потоков только rxJava нужно использовать, а всё остальное использовали деды лет 5 назад (немного преувеличено, но суть та же) Так вот не могли бы немножко подправить мою картину мира по потокам?
#Therad. Примитив многопоточности. Низкоуровневая штука, в чистом виде не используется. #Executors. Основной инструмент для работы с асинхронными задачами в Java. #ForkJoinPool (c Java 1.7). Executor на стероидах, более быстрый и прагматичный, c work-stealing. #Handler(Thread). Андроидный event-loop. #AsyncTask. Обёртка над Executor + Handler с уродливым API. #RxJava. Реализация ФРП. Применяется когда нужно срочно увеличить размер APK или приготовить смузи. #Coroutines. Основной инстмумент асинхронности в Kotlin. #concurrency #multithreading
Kanstantsin
красиво )
Nick Senchurin
ой, размер апк, за уши притянуто
Андрей
"Реализация ФРП. Применяется когда нужно срочно увеличить размер APK." Я думал это про Realm
Nick Senchurin
заказчик скажет тебе, что эта железка теперь не модная, давайка другую, а у другой нативные дрова 10 метров
Ontoshgo
Более валидно указать метод каунт
Nick Senchurin
хотя у прошлой джарник на 100кб был
Ontoshgo
А не размер апк
Kanstantsin
а я когда и Handler и AsyncTask юзал давно, и особо не замечал проблем, всё годно, сейчас Rx, а лучше короутины сразу ))
Kanstantsin
стильно модно молодежно
Андрей
work-stealing
то есть?
Mike
то есть?
если тред уже разгрёб свую очередь, он начинает тырить из чужих
Андрей
подсовывает работу в действующий поток, что уменьшает их количество?
Ontoshgo
Балансирует джобы между тредами в пуле кароче
Vitaly
Сейчас смотрю доклад почему rxJava -зло) Парень продвигает корутины Kotlin
Nick Senchurin
я конктретно про тот видос
Ontoshgo
Если выбирать между котлетой и рх то котлета однозначно
Nick Senchurin
там пойнты, типа рхжаву надо учить
Nick Senchurin
а котлин типа не надо, лол
Ontoshgo
Но старые проекты просто так не передешь
Vitaly
https://www.youtube.com/watch?time_continue=66&v=dQSLfj8EoVU
Mike
https://www.youtube.com/watch?time_continue=66&v=dQSLfj8EoVU
и где там тезис, что Rx — зло?
Ontoshgo
ммм ебам
Vitaly
и где там тезис, что Rx — зло?
Преувеличил я)) Но в целом я так понял, что Kotlin выполняет ту же задачу, что и RxJava
Kanstantsin
ох
Ontoshgo
если вкратце - каждый дрочит как хочет, для каждого инструмента есть свой валидный юз кейс
Kanstantsin
Kotlin вообще язык
Kanstantsin
Rx это подход
Nick Senchurin
единственное, что мне непонятно, так это как с корутинами делать всяческие retry ,onResumeOnError итд
Kanstantsin
реактивщина есть на куче языков
Mike
каналы похожи на обзёрваблы, но в целом RxJava может много разных штук
Vitaly
ммм ебам
Они как-то бесплатную презентацию проводили, мне понравлась эта компания)) Потому что это единственная компания из которых я находил, которая бесплатно проводила митап
Ontoshgo
Rx это подход
rx это библиотека, функциональное программирование - это подход
Mike
Rx это подход
ФРП — подход, Rx — его (хреновая) реализация
Nikita
такая ситуация, использую retrofi 2, c сервера приходит ответ в котором содержиться объект "Token", формат данного объекта динамический, существует около 6 его вариантов. как правильно в pojo классе использовать аннотацию @SerializedName("Token") ? ведь заранее не известно какой формат объекта придет. Первое что пришло в голову дженерики, но не пойму как их можно тут использовать...
Vitaly
Kotlin вообще язык
Я про корутины
Ontoshgo
Я про корутины
корутины - часть языка
Ontoshgo
а потом еще и обоссать их
Nikita
бить авторов этого формата, пока не сделают нормально
нереально, архитектуру бэкенда не изменить уже((((
Ontoshgo
это фекалии
Ontoshgo
пиши свой десериализатор
Mike
нереально, архитектуру бэкенда не изменить уже((((
тогда разбирать руками, например, посредством JsonDeserializer
Kanstantsin
rx это библиотека, функциональное программирование - это подход
я ж написал - реативщина, имея ввиду как раз ФРП
Ontoshgo
иметь ввиду можно много чего
Андрей
Сейчас смотрю доклад почему rxJava -зло) Парень продвигает корутины Kotlin
Ну там только одна идея была по настоящему мощной. Что RxJava как молоток, а все остальное становится гвоздями
Nick Senchurin
единственное, что мне непонятно, так это как с корутинами делать всяческие retry ,onResumeOnError итд
сам пока в корутинах нибумбум, знатоки подскажите, как там с обработкой ошибок
Kanstantsin
иметь ввиду можно много чего
но если вы не поняли, что я имел ввиду, врядли это моя проблема )
Kanstantsin
как-то грубо
Nick Senchurin
с реактивщиной забыл про эту конструкцию, чему очень рад