Managing Complexity With Ktor | Garth Gilmour
HTML-код
- Опубликовано: 7 сен 2024
- Recording brought to you by American Express. americanexpres...
Many teams use Ktor solely to create and consume RESTful services over HTTP. They build modestly sized microservices and clients that perform a limited set of tasks well. Whilst these are completely valid use cases, they only scratch the surface of what is possible with Ktor.
Ktor includes support for Server Sent Events, WebSockets and kotlinx-io. These technologies allow you to incrementally stream data from client to server, such as when reading tokens from an LLM. You can also implement bidirectional conversations, recover from errors, and implement your own buffering strategies. At a higher level, in the design of your applications, you can use Dependency Injection frameworks like Koin, Kodein and Hilt to create and inject the correct networking client, repository, cache etc… for the current environment.
This talk will demonstrate how to configure Ktor Server and Client for a range of non-trivial tasks. You will see how to make best use of both existing, external libraries and upcoming enhancements to the framework itself.
Incredible presentation! I can see why Garth's a developer advocate
Amazing talk. I am totally sold that the Ktor is the way. Thank you JetBrains team.❤
i am newbie to mobile dev is it better than retrofit and in what spaces please ?
@@_hudeifa23 Retrofit written in java and has support for coroutines. On the other hand Ktor client written in kotlin and has inbuilt support of coroutines.
please guys solve this logging mess, I dont want to have to include slf4j related xmls or dependencies, just make it work out of the box ........ with a kotlin idiomatic enum to configure it or something !!
you can use slf4j-simple if you want something bare-bones. i doubt they'll ever implement something like this simply because you won't really find a single production application that doesn't use SLF4j.
Placing a SL4J jar on the classpath enables logging though ;)