TGViewer
Kotlin Multiplatform Broadcast Kotlin Multiplatform Broadcast @kotlin_broadcast · 9.55K subscribers
Post #2126 5.82K
🐱 Valix — валидация на KSP без рефлексии и с ~9× скоростью

Суть библиотеки в том, что аннотируешь data-класс, KSP генерирует обычный процедурный Kotlin-валидатор в build/generated/ksp/. Никакой рефлексии, никаких правил ProGuard, zero cold-start.

data class CreateUserRequest(
@NotBlank val username: String,
@Email val email: String,
@Min(18) val age: Int,
@Sensitive(mask = "[REDACTED]") @MinLength(8) val password: String
)

val result = CreateUserRequestValidator.validate(request)


По JMH: ~7,8–8,5 млн ops/sec против ~0,9 млн у Hibernate Validator. Есть fail-fast, @ValidateIf, маскирование чувствительных полей, DSL без аннотаций, экспорт OpenAPI/JSON Schema.

Для Android/Compose — valix-compose с rememberValixForm() и ValidatedTextField. Плюс адаптеры под Spring, Ktor, Micronaut, Flow и ViewModel. KMP: JVM, Android, iOS, JS, Wasm.

*Подход мне нравится тем, что можно декларативно работать с валидацией, перестать писать код и тесты под это, а также интегрировать с Android Lint для проверок заранее.*

#Kotlin #KSP #KMP #Compose
  • 👍 29
  • 👎 6
More from @kotlin_broadcast
  1. Sep 24, 2026⚡️⚡️AI-агент съел токены и потерял контекст. Что делать? Разберемся на Mobius 2026 Autumn.…
  2. Sep 23, 2026🏝 Вышла первая Beta Kotlin 2.5.0 Что уже известно про новую версию (самое интересное) ✔️…
  3. Sep 19, 2026🚀 Вышел Ktor 3.6 Главное для тех, кто тащит Ktor на KMP/Android — артефакт ktor-client-en…
  4. Sep 17, 2026🏝 Следующий KotlinConf пройдет в апреле 2027 в Кракове, Польша!
  5. Sep 15, 2026💉 Koin Compiler 1.2 проверяет уже весь DSL, то что стоило делать еще в 1.0 Koin Compiler…
  6. Sep 8, 2026Post #2137
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →