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

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
🏝 JetBrains снова принимает заявки на гранты для поддержки open source проектов для Kotlin

Подать заявку можно тут до 31 июля

Проекты получат гранты, если:
👉 Решают важную проблему в экосистеме Kotlin, особенно в KMP
👉 Быстро реагируют на баги, уязвимости и обновления Kotlin/библиотек
👉 Следуют лучшим практикам разработки библиотек
👉 Имеют понятный roadmap развития

#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍4
Автор Kombinator рассказал о том как он делал архитектуру и реализацию библиотеки. Если кому интересно узнать про реализацию кодогенерации на KSP - читайте в статье(EN,6м).

🔗 Альтернативная ссылка

#kotlin
👍9
🏝 Kombinator - open source библиотека для генерации экземпляров Kotlin объектов со всеми возможными комбинациями значений из заданных.

Библиотека работает на основе генерации кода через KSP. Может быть полезна для тестов, чтобы проверять разные входные данные.

// Уровень класса @Kombine: Задает значения по умолчанию для свойств
// без аннотаций и без дефолтных значений property
@Kombine(
allPossibleIntParams = [100],
allPossibleStringParams = ["system"],
)
data class ScreenConfig(
// Аннотация на уровне свойства переопределяет уровень класса для 'theme'
@Kombine(allPossibleStringParams = ["light", "dark", "auto"])
val theme: String,

// Есть значение по умолчанию, Kombinator будет использовать ТОЛЬКО "portrait"
val orientation: String = "portrait",

// Нет аннотации @Kombine и значения по умолчанию.
// Будет использовать значение уровня класса: [100]
val padding: Int,

// Аннотация на уровне свойства переопределяет уровень класса для 'fontSize'
@Kombine(allPossibleIntParams = [12, 16, 20])
val fontSize: Int,

// Нет аннотации @Kombine и значения по умолчанию.
// Будет использовать значение уровня класса: ["system"]
val fontFamily: String,
)

#kotlin #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🏆2