Теперь общие зависимости (common) можно объявить в dependencies блоке в kotlin {}
kotlin {
@OptIn(ExperimentalKotlinGradlePluginApi::class)
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2")
}
}
#kotlin #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15🔥7🎉3👍1
Kotlin Multiplatform Broadcast
Вот тут много вопросов... Хочется чтобы объявление зависимостей было в корне проекта, как это делается со всеми другими:
но кажется, что из блока Kotlin им не уйти из-за конфликтов с другими объявлениями (не факт что причина такова)
// build.gradle.kts
dependencies {
commonImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2")
androidMainImplementation(...)
jvmImplementation(...)
}
но кажется, что из блока Kotlin им не уйти из-за конфликтов с другими объявлениями (не факт что причина такова)
👍12
В Kotlin Multiplatform проекте теперь можно шарить код между JS и wasmJs таргетами через общий source set - WEB.
Изменение доступно в Kotlin 2.2.20-Beta2
#kotlin #kmp
Изменение доступно в Kotlin 2.2.20-Beta2
#kotlin #kmp
🔥12❤7👍2
В новой бете Kotlin 2.2.20 стабилизирована кроссплатформенная компиляция .klib-артефактов. Теперь публиковать Kotlin-библиотеки можно с любой хост-машины, что значительно упрощает процесс, особенно для Apple-таргетов.
Mac всё ещё потребуется, если проект использует cinterop, CocoaPods или нужно собрать финальные бинарники для Apple. Подробности — в документации.
Если в
gradle.properties
добавляли kotlin.native.enableKlibsCrossCompilation=true
, то теперь можно убрать#kotlin #kmp #klib #native
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆22👍6❤3🤔1
В Kotlin 2.2.20-Beta2 можно попробовать новое поведение при использовании
return
- обязательное объявление возвращаемого типа функции. Новое поведение будет по умолчанию работать в Kotlin 2.3.0// ✅ Возвращаемый типы функции указан. Можно использовать return
fun getDisplayNameOrDefault(userId: String?): String =
getDisplayName(userId ?: return "default")
// ❌ Не компилируется. Используется return без явного указания возвращаемого типа функции
fun getDisplayNameOrDefault(userId: String?) =
getDisplayName(userId ?: return "default")
Готовимся к миграции после обновления языка. Всё во славу большей стабильности нашего кода
#kotlin #kotlin_2_3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🤔28🤯8🏆4
🔥 Создай свой Flow-оператор и прокачай архитектуру!
👨💻 Хочешь не просто использовать, а создавать мощные Flow-операторы под свои задачи?
✨ 12 августа в 20:00 (МСК) ждём тебя на бесплатном открытом уроке в рамках курса «Android Developer. Professional»!
На практике разберем:
✅ Как с нуля написать кастомный оператор Flow;
✅ Где и зачем его применять в архитектуре приложения;
✅ Как проектировать гибкую систему, готовую к масштабированию.
💡 Идеально для junior+ разработчиков, кто хочет глубже понять Kotlin Flow и вывести свои навыки на профессиональный уровень.
🔗 Ссылка на регистрацию
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👨💻 Хочешь не просто использовать, а создавать мощные Flow-операторы под свои задачи?
✨ 12 августа в 20:00 (МСК) ждём тебя на бесплатном открытом уроке в рамках курса «Android Developer. Professional»!
На практике разберем:
✅ Как с нуля написать кастомный оператор Flow;
✅ Где и зачем его применять в архитектуре приложения;
✅ Как проектировать гибкую систему, готовую к масштабированию.
💡 Идеально для junior+ разработчиков, кто хочет глубже понять Kotlin Flow и вывести свои навыки на профессиональный уровень.
🔗 Ссылка на регистрацию
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🤔2❤1👍1
👉 Effective Debugging Kotlin Native in Xcode
👉 KMP with non-Koltin languages
👉 Metaprogramming with Kotlin Symbol Processing
👉 Playing with experimental Kotlin features
👉 Ready layer one intro to the Model Context Protocol
👉 Coroutines party tricks
👉 Beyond Detekt: Building a Kotlin Compiler Plugin for Compose Insights
👉 Kotlin Coroutine Mechanisms: A Surprisingly Deep Rabbithole
#kotlin #kmp #droidcon
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4🙏2