IntelliJ IDEA 2024.3 стало стабильной, а вести и с ним и режим работы на K2 компиляторе. Это привнесет более быстрый и качественный анализ Kotlin кода, сокращение расхода памяти и повышение общей производительности IDEA и Android Studio
Режим не включается по умолчанию и это надо сделать в настройках. Надо открыть Preferences/Settings | Languages & Frameworks | Kotlin and select и включить "Enable K2 mode". Переход по умолчанию будет в IDEA 2025.1
‼️ Не все плагины поддерживают K2, поэтому придется ждать
#idea #androidstudio #k2
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍5
1🔥44👍4
Что нового
👉 Поддержка Java Platform Module System (JPMS) модулей
🚀 Улучшение производительности
📄 Улучшение документации
#io
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24
Рекомендую всем кто пользуется корутинами или недавно перешел на них, стоит почитать лучшие практики по их использованию. Они хоть и для Android, но есть много полезного что надо применять на любой платформе
#coroutines #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40❤7
В рекомендациях пишут, что надо делать Inject диспатчеров, но не описывают как это сделать. Я реализую это с помощью собственного класса со всеми CoroutineDispatcher вместо того чтобы использовать квалификаторы для зависимостей в графе, например @Named()
#coroutines #di
#coroutines #di
👍37🎉1
Альтернативный вариант как делать inject CoroutineDispatcher в Dagger без дополнительного класса
#coroutines #di
#coroutines #di
👍58
👍23❤1
KmpEssentials - набор более 40 модулей для ускорения KMP разработки под iOS, Android и AppleWatch. Подробности на сайте
#kmp #android #ios #applewatch
#kmp #android #ios #applewatch
👍16🔥2
JetBrains поделилась важными изменениями и планами для Kotlin Scripting:
👉 Базовые скрипты (.kts): поддержка сохраняется, но Kotlin не конкурирует с Bash или Python для скриптовых задач.
👉 Custom Scripting API: продолжает развиваться для сложных задач (например, Gradle Kotlin DSL), но остается экспериментальным.
👉 main.kts: улучшение функциональности и интеграции в IDE, чтобы сделать работу еще удобнее.
👉 Kotlin REPL: поддержка прекращается, но вместо этого рекомендуются Kotlin Notebook и Scratch-файлы в IntelliJ IDEA.
👉 Снятие с поддержки: JSR-223, KotlinScriptMojo и другие технологии постепенно уйдут в прошлое.
#kts #скриптинг #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
В Coil после выхода мажорной версии 3.0 уже вышло 4 багфикс релиза. Обратите внимание, если уже обновились или ждали исправления ошибок
👍36
👉 Новые фичи языка (разберу отдельно в @kotlin_broadcast, но ничего такого)
👉 Улучшения K2 компилятора, что также повлияло и на kapt (который deprecated)
👉 KMP Базовая поддержка Swift Export, стабильный Gradle для опций компилятора и много чего ещё
👉 В Kotlin/Native улучшили поддержку iosArm64
👉 Поддержка новых версий Gradle и Android Gradle Plugin
Ждем багфиксы в 2.1.10 и потом обновляемся. За разборами с большими подробностями идите в @kotlin_broadcast
#kotlin #gradle #k2 #kmp #swift
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍8🎉4❤2
🎉 guard condition в when - новая фича Kotlin в 2.1 [PREVIEW]
Некое подобие Pattern Matching из Java. Теперь в ветках проверки условия для значения из when блока можно указать несколько условий. Синтаксис спорный конечно и не очень понятный. Раньше тоже самое можно было сделать через
Фича экспериментальная и чтобы включить её надо передать флаг компилятору:
#kotlin
Некое подобие Pattern Matching из Java. Теперь в ветках проверки условия для значения из when блока можно указать несколько условий. Синтаксис спорный конечно и не очень понятный. Раньше тоже самое можно было сделать через
when
без значенияФича экспериментальная и чтобы включить её надо передать флаг компилятору:
// build.gradle.kts
kotlin {
compilerOptions {
freeCompilerArgs.add("-Xwhen-guards")
}
}
#kotlin
👍52🔥11
🎉 Kotlin 2.1. Non-local break and continue [PREVIEW]
Теперь станет возможно использование break и continue нелокально, это значит что вызов этих выражений внутри циклов стало возможно из лямбды, переданной в inline функцию.
Фича экспериментальная и чтобы включить её надо передать флаг компилятору:
Теперь станет возможно использование break и continue нелокально, это значит что вызов этих выражений внутри циклов стало возможно из лямбды, переданной в inline функцию.
Фича экспериментальная и чтобы включить её надо передать флаг компилятору:
// build.gradle.kts
kotlin {
compilerOptions {
freeCompilerArgs.add("-Xnon-local-break-continue")
}
}
🔥21👍8🎉5
🎉 Multi-dollar string interpolation [PREVIEW]
В Kotlin 2.1 теперь возможно указать какое количество символов $ необходимо использовать внутри String, чтобы это интерпретировалось как вычисляемое выражение
Фича экспериментальная и чтобы включить её надо передать флаг компилятору:
#kotlin
В Kotlin 2.1 теперь возможно указать какое количество символов $ необходимо использовать внутри String, чтобы это интерпретировалось как вычисляемое выражение
Фича экспериментальная и чтобы включить её надо передать флаг компилятору:
// build.gradle.kts
kotlin {
compilerOptions {
freeCompilerArgs.add("-Xmulti-dollar-interpolation")
}
}
#kotlin
👍27