Новая версия сосредоточена на стабилизации экспериментальных фич, поддержке свежих возможностей Kotlin и улучшении пользовательского опыта при генерации документации.
Что нового:
✅ Dokka Gradle Plugin v2 теперь включён по умолчанию
⚙️ K2 analysis активен по умолчанию
🧩 Поддержка context-параметров и вложенных typealias
🌐 Обновлённый HTML-формат — лучшее соответствие стандартам доступности и визуальная консистентность
🚀 Повышена производительность и совместимость
#kotlin #k2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
При миграции Android-проекта в Kotlin Multiplatform я столкнулся с тем, что Java-временные API пронизывают весь код и все слои — от модели данных до форматирования в UI. В итоге пришлось делать массу правок вручную.
Рекомендую заранее перейти на kotlinx-datetime, чтобы:
✅ избежать боли при миграции;
✅ использовать единый кроссплатформенный API;
✅ получить чистый, предсказуемый код без зависимости от Java-библиотек.
Если вы только начинаете внедрять KMP — начните именно с этого шага. Он окупится многократно. Подробно про опыт миграции можно найти в статье (альтернативная ссылка)
Из интересного - добавление Detekt правила для ограничения на использование импортов Java Time:
ForbiddenImport:
active: true
imports:
- reason: 'Use Kotlin Time in new code'
value: 'java.util.concurrent.TimeUnit'
- reason: 'Use Kotlin Time in new code'
value: 'java.time.*'
#kotlin #kotlinx #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤2
Какой из этих стримов является холодным ?
Anonymous Quiz
66%
Flow
18%
StateFlow
12%
SharedFlow
5%
Не участвую
❤12👍9🔥5🤔2
У какого типа flow всегда есть значение?
Anonymous Quiz
3%
Flow
6%
SharedFlow
82%
StateFlow
7%
MutableSharedFlow
3%
Не участвую
❤7👍6
Какой размер buffer по умолчанию в MutableSharedFow ?
Anonymous Quiz
47%
0
30%
1
19%
Int.MAX_VALUE
5%
Не участвую
👍12❤1
Каков тип результата вызова MutableSharedFlow<Int>().map { it.toString() }?"
Anonymous Quiz
24%
MutableSharedFlow<String>
19%
SharedFlow<String>
48%
Flow<String>
6%
Другой тип
4%
Не участвую
❤22🔥9👍4
Вы используете stateIn для преобразования Flow в StateFlow в вашем ViewModel. Вы хотите, чтобы поток оставался активным и не отменялся, даже если экран будет свернут на несколько секунд (все отпишутся). Какую политику выбрать?
Anonymous Quiz
37%
Eagerly
34%
WhileSubscribed() //значения параметров по умолчанию
14%
Lazily
5%
Другой вариант ответа
11%
Не участвую
🤔37👍6❤1
Команда разработчиков представила версию 1.8.0, включающую:
👉 Поддержку languageVersion = KOTLIN_2_0, чтобы обеспечить совместимость с Kotlin 2.0.
👉 Возможность проще создавать собственные правила линтинга (custom ruleset).
👉 Новое правило then-spacing для улучшения читаемости кода.
🛠 Различные минорные улучшения и исправления
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍8
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍6
**🔄 Koin IDE Plugin обновился до версии 1.5.1 — полная поддержка Koin Annotations 2.2**
IDE Плагин популярного DI Koin получил значительное обновление! Версия 1.5.1 приносит совместимость с Koin Annotations 2.2 и расширяет возможности работы с dependency injection.
Что нового в этом обновлении:
🎯 Поддержка JSR-330 аннотаций
Теперь плагин полностью понимает стандартные аннотации dependency injection:
Это особенно удобно для команд, мигрирующих с Hilt или Dagger.
🤖 Android-specific scopes
Плагин теперь валидирует Android-специфичные scope'ы:
-
-
-
-
🔍 Умная валидация конфигурации
Обновление добавляет проверки для:
- Корректности использования
- Совместимости JSR-330 аннотаций с Koin
- Правильности Android scope'ов
🎨 Визуализация графа зависимостей
Tree View теперь отображает JSR-330 квалификаторы и Android scope'ы, что упрощает навигацию по сложным графам зависимостей.
🤖 AI-помощник для отладки
Новая функция генерации AI-запросов помогает быстрее решать проблемы с зависимостями — от missing dependency до misconfiguration.
⚙️ Улучшения UX
- Исправлена проблема спонтанного выхода из системы
- Добавлена поддержка lazy modules
- Настройка инспекций под ваш workflow
Почему стоит обновиться:
- Более надежная работа с сессиями
- Расширенная поддержка современных практик DI
- Улучшенная навигация по коду
- Раннее обнаружение ошибок конфигурации
Обновите плагин через Marketplace в вашей IDE и попробуйте новые возможности!
#Kotlin #Koin #DI #Android #IDEA #AndroidStudio #JSR330 #KMP #AI
IDE Плагин популярного DI Koin получил значительное обновление! Версия 1.5.1 приносит совместимость с Koin Annotations 2.2 и расширяет возможности работы с dependency injection.
Что нового в этом обновлении:
🎯 Поддержка JSR-330 аннотаций
Теперь плагин полностью понимает стандартные аннотации dependency injection:
@Singleton // Синглтон-зависимости
class UserRepository @Inject constructor()
@Named("prod") // Именованные зависимости
class ProductionService @Inject constructor()
Это особенно удобно для команд, мигрирующих с Hilt или Dagger.
Плагин теперь валидирует Android-специфичные scope'ы:
-
@ActivityScope — для зависимостей Activity-
@FragmentScope — для Fragment-
@ViewModelScope — для ViewModel-
@ActivityRetainedScope — переживающие смену конфигурации🔍 Умная валидация конфигурации
Обновление добавляет проверки для:
- Корректности использования
@KoinApplication (одна аннотация на модуль)- Совместимости JSR-330 аннотаций с Koin
- Правильности Android scope'ов
🎨 Визуализация графа зависимостей
Tree View теперь отображает JSR-330 квалификаторы и Android scope'ы, что упрощает навигацию по сложным графам зависимостей.
🤖 AI-помощник для отладки
Новая функция генерации AI-запросов помогает быстрее решать проблемы с зависимостями — от missing dependency до misconfiguration.
⚙️ Улучшения UX
- Исправлена проблема спонтанного выхода из системы
- Добавлена поддержка lazy modules
- Настройка инспекций под ваш workflow
Почему стоит обновиться:
- Более надежная работа с сессиями
- Расширенная поддержка современных практик DI
- Улучшенная навигация по коду
- Раннее обнаружение ошибок конфигурации
Обновите плагин через Marketplace в вашей IDE и попробуйте новые возможности!
#Kotlin #Koin #DI #Android #IDEA #AndroidStudio #JSR330 #KMP #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👍16
#Kotlin #KMP
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥40👍9
Вышла вторая релиз-кандидат Kotlin 2.3.0 — финальная версия уже близко. Вот ключевые изменения, которые стоит проверить в новой сборке:
Язык и компилятор:
✅ Больше стабильных фичей по умолчанию
✅ Новый чекер для неиспользуемых возвращаемых значений в экспериментальном режиме
Kotlin/JVM:
✅ Поддержка Java 25
Kotlin/Native:
✅ Улучшенная интероперабельность через Swift export
✅ Проверки типов на границах generic-типов включены по умолчанию
Kotlin/Wasm
✅ Полные квалифицированные имена включены по умолчанию
✅ Новая модель обработки исключений включена по умолчанию
Kotlin/JS:
✅ Экспериментальный export для suspend-функций
✅ Новое представление LongArray
Gradle:
✅ Совместимость с Gradle 9.0
✅ Новый API для регистрации сгенерированных исходников
Стандартная библиотека:
✅ Стабилизированы API для работы со временем
Это предрелизная версия — идеальное время для тестирования ваших проектов перед финальным релизом. Нашли проблемы? Сообщайте в YouTrack!
#Kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤4👍4
В Kotlin 2.3.0-RC2 продолжили улучшать совместимость со Swift через механизм Swift Export. В новой версии улучшили работу с enum class из Kotlin в Swift
Раньше Kotlin-enum экспортировались как обычные Swift-классы. Теперь маппинг прямой — вы получаете настоящие нативные
enum в Swift.enum class Color(val rgb: Int) {
RED(0xFF0000),
GREEN(0x00FF00),
BLUE(0x0000FF)
}👇
public enum Color: Swift.CaseIterable, Swift.RawRepresentable {
case RED, GREEN, BLUE
var rgb: Int { get }
}#Kotlin #KMP #Swift
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍2
В обновлении Swift Export завезли долгожданный маппинг для
vararg. Теперь функции с переменным числом аргументов в Kotlin превращаются в нативные вариативные функции Swift (...), а не в массивы или обертки.Это делает API вашего общего кода гораздо чище для iOS-разработчиков — больше не нужно создавать массив вручную, чтобы передать список параметров.
fun log(vararg messages: String)
// Вызов в Kotlin:
log("Error", "Warning", "Info")
👇 Автоматическая конвертация в Swift:
public func log(messages: Swift.String...)
// Вызов в Swift (теперь нативно!):
log(messages: "Error", "Warning", "Info")
⚠️ Ограничение: Generics в вариативных параметрах пока не поддерживаются в этом режиме.
#Kotlin #Swift #KMP
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍2
This media is not supported in your browser
VIEW IN TELEGRAM
JetBrains (создатели Kotlin и IntelliJ IDEA) официально вступают в гонку агентных IDE. Встречайте Air — полноценную Agentic Development Environment (ADE), а не просто очередной плагин.
В отличие от Cursor или Copilot, Air делает ставку на параллельную работу (хотя в Cursor 2.0 это завезли):
👉 Вы пишете основной код.
👉 Параллельно запускаете AI-агентов для фоновых задач (написать тесты, пофиксить баг, сделать рефакторинг).
👉 Агенты работают асинхронно, не блокируя ваш UI, а вы потом просто принимаете результат.
Air пока находится в раннем превью.
1. Только macOS: На данный момент скачать можно только версию для Mac (Windows/Linux позже).
2. Нужен ключ Anthropic: Air работает "под капотом" на моделях Claude, поэтому для использования вам потребуется собственный API-ключ Anthropic.
#JetBrains #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
1🤔32👍13❤6🔥2
IDEA полностью переходит на Kotlin K2 режим работы компилятора и включение K1 потребует настройки, а вскоре станет невозможным
#idea #kotlin #k2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤37🎉12👍7🔥6