@kotlin_lang

Страница 832 из 982
Di7aK
28.08.2018
08:52:42
Не я

Или я был бухой)

Alexey
28.08.2018
08:53:52
А как это связано с инверсией контроля?
Разве перекладывание на какой то там контейнер создание контроллера для @GET... ни есть инверсия?

Google
Alexey
28.08.2018
08:54:18
Соу вот?

ktor нельзя на андроиде?

Nail
28.08.2018
08:55:27
Нет, инверсия контроля (IOC) общее название di контейнеров например spring, dagger, koin

Anton
28.08.2018
08:55:53
кроме di там еще есть куча всего

Di7aK
28.08.2018
08:55:55
Вы такие умные?

Anton
28.08.2018
08:56:13
я чет тоже не вижу где ретрофит нарушает иос

Ivan
28.08.2018
08:56:50
ktor нельзя на андроиде?
не вместо ретрофита же

Andrew
28.08.2018
08:57:25
не вместо ретрофита же
Есть ktor-client, который можно вместо ретрофита, ибо то же самое делает.

Костя
28.08.2018
08:57:54
не вместо ретрофита же
ну вообще как раз-таки вместо

Nail
28.08.2018
08:57:58
Ещё dependency lookup... Я не говорю что нарушает, просто мне странно слышать про IOC не в рамках контейнера)

Костя
28.08.2018
08:58:17
я думаю имелся ввиду именно ktor-client который работает без аннотаций и т.д.

Andrew
28.08.2018
08:59:34
Ещё dependency lookup... Я не говорю что нарушает, просто мне странно слышать про IOC не в рамках контейнера)
IoC — это буквально об инверсии управления. Всё. Инвертировать управление (то есть делать так, что не ты вызываешь фреймворк, а он тебя) можно делать в рамках чего угодно. DI-контейнеры — это просто наиболее держащийся на слуху конструкт на эту тему в мобильном мире.

Google
Artur
28.08.2018
08:59:52
так ведь ktor не исключает ни DI ни IoC - бери и прикручивай. хоть от Java, хоть родные Котлиновские

Andrew
28.08.2018
09:00:20
Эти ваши setOnClickListener — это тоже об IoC, если что.

Просто местами это оправдано, местами нет :)

Ivan
28.08.2018
09:01:35
Ретрофит как раз нужен, чтобы не писать кучу кода руками на "нормальных и православных" ktor-client, OkHttp и так далее

Nail
28.08.2018
09:02:00
Надо бы почитать про общий IOC, окей) В ktor-client кстати вызовы на корутинах, что порадовало немного, но там много руками писать пришлось

Костя
28.08.2018
09:04:19
а ktor-client надо глянуть будет на досуге )

Alexey
28.08.2018
09:05:19
Ретрофит как раз нужен, чтобы не писать кучу кода руками на "нормальных и православных" ktor-client, OkHttp и так далее
Ну как по мне, жертвовать возможностью контролировать все действия ради сокращения кода каждого вызова на 5-10 строк - совсем не имеет никакого профита

Alexey
28.08.2018
09:05:54
Каждый приходится писать такую туеву тучу кода, что 10 строк просто меркнет в сравнении

а если на 100 строк?
чего вы там в 100 строк собрались делать?

Andrew
28.08.2018
09:06:21
Я в целом не до конца понимаю, где вы находите необходимость писать руками много кода, при учёте что самое "страшное" — десериализация объектов из стрима респонса — покрывается install(ContentNegotiation) { gson { ... } }

Alexey
28.08.2018
09:06:21
для http вызова

Andrew
28.08.2018
09:07:05
Да и всякие авторизации конфигурируются для клиента в одном месте, а не на каждый вызов, равно как и для ретрофита.

Igor
28.08.2018
09:07:33
Ретрофит как раз нужен, чтобы не писать кучу кода руками на "нормальных и православных" ktor-client, OkHttp и так далее
Ой, ну не надо, сколько пишу под ведро - от ретрофита копеечный выигрыш (тем более на Котлине). (а вот если клиент генерится свагером - другое дело)

Andrew
28.08.2018
09:10:42
Пардоньте, запамятовал, install(JsonFeature) { serializer = GsonSerializer { ... } }

Можешь скинуть примеры свои Features для ktor-client?
Чё их скидывать, всё в доке есть: https://ktor.io/clients/http-client.html (моя машина всё равно дома)

Google
Костя
28.08.2018
09:13:05
Чё их скидывать, всё в доке есть: https://ktor.io/clients/http-client.html (моя машина всё равно дома)
выглядит красиво, почему тогда везде ретрофит и даггер, а не koin и ktor (

обидно (

Alexey
28.08.2018
09:13:36
потому что нельзя просто так взять и вытравить "деревню" из человека

очевидно же

Andrew
28.08.2018
09:14:11
потому что нельзя просто так взять и вытравить "деревню" из человека
Иначе все уже на хаскелле давно бы бизнес-логику писали? :)

Alexey
28.08.2018
09:14:30
Ну это немного о разном

Alexey
28.08.2018
09:15:38
На хаскеле сейчас у людей хорошо получается писать всякие компиляторы, интерпритаторы и тд

Костя
28.08.2018
09:15:44
Где даггер?)
в проектах промовских, которые попадаются

Alexey
28.08.2018
09:15:55
есть конечно даже блок чейн на хаскеле, но это скорее исключение

Nail
28.08.2018
09:15:55
Чё их скидывать, всё в доке есть: https://ktor.io/clients/http-client.html (моя машина всё равно дома)
Да у меня что-то не завелось, сам писал... Попробую ещё потом

Костя
28.08.2018
09:16:03
Rx Dagger Kotlin, архитектура, Retrofit

стандартный сейчас стэк технологий

Quantum Harmonizer
28.08.2018
09:16:13
Костя
28.08.2018
09:16:14
везде-везде

Quantum Harmonizer
28.08.2018
09:16:28
Rx Dagger Kotlin, архитектура, Retrofit
архитектура — это технология такая?)

Костя
28.08.2018
09:16:38
Quantum Harmonizer
28.08.2018
09:16:52
ты придираешься ?
пытаюсь понять, чего ты хочешь сказать

Костя
28.08.2018
09:16:58
я назвал стэк, 90% проектов именно на этом сейчас

Google
Костя
28.08.2018
09:17:02
мне самому это не нравится

но приходится жить с даггером тем же

или Rx

хотя можно koin и корутины

на своих проектаях я их и введу думаю, но когда не мой, увы

консерватизм может

не знаю что всему виной )

Quantum Harmonizer
28.08.2018
09:18:03
хайп и инерция

Alexey
28.08.2018
09:18:05
не знаю что всему виной )
Обычно берут стек на котором людей изи найти

Quantum Harmonizer
28.08.2018
09:18:28
RxJava вообще не про это :)

Admin
ERROR: S client not available

Костя
28.08.2018
09:18:57
RxJava идет в купе с ретрофитом для запросов

ну и чтобы комбинировать вместе разные запросы паралельно или последовательно например

Quantum Harmonizer
28.08.2018
09:19:27
да, бывает такое отклонение

Костя
28.08.2018
09:19:28
также есть RxView всякие для UI

сам не юзал, но видел в одном проекте

у себя в пет я корутины засобачил и koin, а тут выходит можно ktor взять ещё вместо ретрофита, чтобы вообще модным стать ))

Alexey
28.08.2018
09:20:19
RxJava идет в купе с ретрофитом для запросов
Блеее, лучшую они конечно взяли абстракцию для запросов

Костя
28.08.2018
09:20:23
вот займусь и таким на досуге

Andrew
28.08.2018
09:20:36
Да у меня что-то не завелось, сам писал... Попробую ещё потом
Главное — проверить, что все зависимости в Gradle подтянуты: io.ktor:ktor-client-core:... io.ktor:ktor-client-cio:... io.ktor:ktor-client-json:... После при инициализации клиенты устанавливаешь фичу с сериализатором и шаблонный .get должен начать работать. Единственное, ему будет не очень хорошо, если сервер не отдаёт Content-Type правильный, но это по идее можно вылечить перехватом и исправлением хедеров в респонсе (ну или пи***лями бекендщикам, что даже лучше).

Google
Костя
28.08.2018
09:20:51
Блеее, лучшую они конечно взяли абстракцию для запросов
ну вообще это сейчас больше как аксиома в аутсорце

я не видел проектов без этого уже прилично времени ))

не знаю почему вас это удивляет )) как будто я один на аутсорце работаю том же, или у нас проекты совершенно другие ))

Alexey
28.08.2018
09:21:30
Брать стримы чтобы процессить один запрос ?

Чем их любая другая монада не устроила, для композиций

Костя
28.08.2018
09:21:49
почему один ?

в приложение один запрос ?

неочень понял

Alexey
28.08.2018
09:22:08
Потому что это Observable всегда от одного элемента

Костя
28.08.2018
09:22:23
Single ?

заюзать

Maxim
28.08.2018
09:22:33
Потому что это Observable всегда от одного элемента
заменяешь на Single и радуешься жизни

Alexey
28.08.2018
09:22:54
Как будто это сильно что то меняет

Костя
28.08.2018
09:22:59
меня не устраивает только что они тяжелые и громоздкие как и даггер

Костя
28.08.2018
09:23:09
и корутины проще, меньше, легче

как и koin

Andrew
28.08.2018
09:23:21
Ну справедливости ради, каждый входящий респонс может гоняться через кеш, перемалываться через flatMap и параллелиться дальше, но насколько часто это встречается на практике у людей — я без руля.

Костя
28.08.2018
09:23:26
в по функциям ну Rx делает свои функции на ура

не поспоришь

Alexey
28.08.2018
09:24:51
CompletableFuture же
этот господин дело говорит

Страница 832 из 982