mrjimin
10/12/2026, 12:32 AMAndrew O'Hara
10/12/2026, 12:48 AM// http4k
val api = "path" bind Method.GET to { Response(Status.OK) }
api.asServer(SunHttp(8000)).start()
// ktor
embeddedServer(CIO, port = 8000) {
routing {
get("/path") {
call.respond(HttpStatusCode.OK)
}
}
}.start(wait = true)
Http4k is most appreciated by functional-oriented developers who enjoy composition, and test-driven developers who understand the importance of an in-memory server. It's JVM-only and doesn't care about koroutines. It supports HTTP clients, and treats both clients and servers as symmetric; to the point where the two are completely interchangeable.
Ktor mostly appeals to people who are accustomed to working with heavyweight Java frameworks, but want something that actually makes good use of Kotlin's features. It supports Kotlin multi-platform, and requires koroutines.mrjimin
10/12/2026, 2:13 AMandylamax
10/14/2026, 1:15 PMRonaldo Pace
10/16/2026, 3:04 PMasync or call any coroutines you need, I've been developing on it and it's quite practical.