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



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: |

"Doxxing content is forbidden on Telegram and our moderators routinely remove such content from around the world," said a spokesman for the messaging app, Remi Vaughn. You can invite up to 200 people from your contacts to join your channel as the next step. Select the users you want to add and click “Invite.” You can skip this step altogether. best-secure-messaging-apps-shutterstock-1892950018.jpg With the sharp downturn in the crypto market, yelling has become a coping mechanism for many crypto traders. This screaming therapy became popular after the surge of Goblintown Ethereum NFTs at the end of May or early June. Here, holders made incoherent groaning sounds in late-night Twitter spaces. They also role-played as urine-loving Goblin creatures. Some Telegram Channels content management tips
from us


Telegram Kotlin Multiplatform Broadcast
FROM American