Kotlin Multiplatform Broadcast
9.48K subscribers
838 photos
52 videos
1.13K links
Новости и фичи Kotlin, а также Kotlin Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
KtorCLI - утилита командной строки для генерации новых проектов на Ktor

#kotlin #ktor
🔥39👍94
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Вышло обновление Web Wizard генератора Ktor проекта

Что нового:
👉 Обновленный дизайн
👉 Упростили настройку проекта
👉 Превью проекта, который будет сгенерирован

#kotlin #ktor
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27👍7
🚀 Ktor 3.1.0 уже здесь!

JetBrains выпустила новый минорный релиз, который приносит множество полезных обновлений для Android-разработчиков.

👉 Новый CLI-конфигуратор – генерация проектов стала проще.

👉 Поддержка SSE – улучшенная сериализация и heartbeat-события.

👉 Multipart в HttpClient – удобная работа с загрузкой файлов.

👉 Экспериментальная поддержка WASM – новые горизонты для Ktor.

👉 Начало интеграции gRPC – первый шаг к мощной серверной коммуникации.

👉 Движок на основе Curl больше не требует установки сторонних зависимостей, поддерживает ARM и WebSocket

#kotlin #ktor #wasm #grpc
🔥32👍9🎉31
📹 Ktor Server Fundemantals - бесплатный видео курс по использованию Ktor для создания собственного сервера и интеграции с популярными технологиями

(все видео курса в комментариях к видео)

#kotlin #ktor #server
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43
🚀 Вышел 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
This media is not supported in your browser
VIEW IN TELEGRAM
🐱 LensLogger - KMP опенсорс библиотека для Android, iOS и Desktop чтобы отслеживать сетевые запросы через Ktor клиент и изучать их прямо из вашего приложения.

Подключаете зависимости и делается инициализацию
val client = HttpClient(engine) {
// body
install(LensHttpLogger){
level = LogLevel.ALL
}
}


#kotlin #kmp #ktor
Please open Telegram to view this post
VIEW IN TELEGRAM
43👍16🔥7
🚀 Вышел Ktor 3.2.2, который исправил работу на Android и другие минорные баги

#ktor #kotlin #android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍212