KOTLIN_BROADCAST Telegram 1843
🚀 Вышел Ktor 3.2.0 (есть баг в Android, не спешите обновляться)

Что нового в свежей версии:
👉 типизированная конфигурация
@Serializable
data class DatabaseConfig(
val jdbcUrl: String,
val username: String,
val password: String,
)
fun Application.module() {
property<DatabaseConfig>("database")
}


👉 Cобственный DI
fun Application.database(@Property("database") config: DatabaseConfig) {
dependencies {
provide("optional-name") { HikariDataSource(...) }
provide {
Database.connect(resolve<HikariDataSource>("optional-name"))
} cleanup { database: Database ->
TransactionManager.closeAndUnregister(database)
}
}
}

// suspend DI
suspend fun Application.module() {
val database: Database = dependencies.resolve()
...
}


👉 CIO клиент с поддержкой домен сокетов
val server = embeddedServer(CIO, configure = {
unixConnector("/tmp/test-unix-socket-client.sock")
}) {
routing {
get("/") {
call.respondText("Hello, Unix socket world!")
}
}
}


👉 Более тесная интеграция с HTMX (библиотека JavaScript, которая позволяет создавать динамические веб-интерфейсы без написания JavaScript-кода)
fun Application.routing() {
hx.get("/status") { /* Return HTML content */ }
get("/status") {
call.respondHtml {
head { script { src = "https://unpkg.com/[email protected]" } }
body {
div {
attributes.hx {
get = "/status"
trigger = "load"
}
}
}
}
}
}


👉 Ktor Version Catalog
// settings.gradle.kts
dependencyResolutionManagement {
versionCatalogs {
create("ktorLibs") {
from("io.ktor:ktor-version-catalog:3.2.0")
}
}
}


‼️ Есть баг при использовании Android R8, ждем фикса в 3.2.1

#ktor #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
21🔥6



tgoop.com/kotlin_broadcast/1843
Create:
Last Update:

🚀 Вышел Ktor 3.2.0 (есть баг в Android, не спешите обновляться)

Что нового в свежей версии:
👉 типизированная конфигурация

@Serializable
data class DatabaseConfig(
val jdbcUrl: String,
val username: String,
val password: String,
)
fun Application.module() {
property<DatabaseConfig>("database")
}


👉 Cобственный DI
fun Application.database(@Property("database") config: DatabaseConfig) {
dependencies {
provide("optional-name") { HikariDataSource(...) }
provide {
Database.connect(resolve<HikariDataSource>("optional-name"))
} cleanup { database: Database ->
TransactionManager.closeAndUnregister(database)
}
}
}

// suspend DI
suspend fun Application.module() {
val database: Database = dependencies.resolve()
...
}


👉 CIO клиент с поддержкой домен сокетов
val server = embeddedServer(CIO, configure = {
unixConnector("/tmp/test-unix-socket-client.sock")
}) {
routing {
get("/") {
call.respondText("Hello, Unix socket world!")
}
}
}


👉 Более тесная интеграция с HTMX (библиотека JavaScript, которая позволяет создавать динамические веб-интерфейсы без написания JavaScript-кода)
fun Application.routing() {
hx.get("/status") { /* Return HTML content */ }
get("/status") {
call.respondHtml {
head { script { src = "https://unpkg.com/[email protected]" } }
body {
div {
attributes.hx {
get = "/status"
trigger = "load"
}
}
}
}
}
}


👉 Ktor Version Catalog
// settings.gradle.kts
dependencyResolutionManagement {
versionCatalogs {
create("ktorLibs") {
from("io.ktor:ktor-version-catalog:3.2.0")
}
}
}


‼️ Есть баг при использовании Android R8, ждем фикса в 3.2.1

#ktor #kotlin

BY Kotlin Multiplatform Broadcast


Share with your friend now:
tgoop.com/kotlin_broadcast/1843

View MORE
Open in Telegram


Telegram News

Date: |

A vandalised bank during the 2019 protest. File photo: May James/HKFP. When choosing the right name for your Telegram channel, use the language of your target audience. The name must sum up the essence of your channel in 1-3 words. If you’re planning to expand your Telegram audience, it makes sense to incorporate keywords into your name. Done! Now you’re the proud owner of a Telegram channel. The next step is to set up and customize your channel. With the “Bear Market Screaming Therapy Group,” we’ve now transcended language. “Hey degen, are you stressed? Just let it all out,” he wrote, along with a link to join the group.
from us


Telegram Kotlin Multiplatform Broadcast
FROM American