Kotlin Multiplatform Broadcast
9.7K subscribers
864 photos
54 videos
1.17K links
Новости и фичи Kotlin, а также Kotlin Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
🎉 Вышел Koin Annotations 2.2 - привычный DI с кодогенраций на базе Koin с проверкой графа во время компиляции кода

Основные изменения:
💉 Совместимость с JSR-330 - набор API для работы с DI в java (Dagger тоже поддерживает его). Переход между DI фреймворками с поддержкой JSR-330 станет проще. Например, с Dagger или Hilt 😁

💉 Популярные Scope прямо из коробки: @ActivityScope, @ActivityRetainedScope, @FragmentScope, @ViewModelScope. Что-то еще больше пахнет Dagger Hilt

💉 Умная конфигурация: можно пометить модуль аннотацией @Configuration, а объект помеченный @KoinApplication найдет их при компиляции и включит в граф. Работает в многомодульных проектах
@Module
@Configuration
class DatabaseModule {
@Singleton fun database() = ...
}

@KoinApplication
object ProductionApp

fun main() {
// Функция startKoin() сгенерируется
ProductionApp.startKoin()
}


💉 Встроенный в фреймворк мониторинг скорости работы компонентов, используя интеграцию с Kotzilla Platform. Добавляете аннотацию @Monitor и автоматически расставятся все трейсинги вызовов методов
@Monitor
@Single
class UserService(private val repository: UserRepository)


🚀 Улучшили скорость работы процессора кода, уменьшили расход памяти, сделали больше проверок при работе процессора. Вообщем поработали по всем направлениям для улучшения работы

Koin Annotations - это хорошая альтернатива тем, кто хочет уйти с Dagger или Hilt, либо нужна поддержка KMP, а переписывать весь код не хочется. С версией 2.2 становится только лучше и проще миграция. Но всё также от кодогенерации не уйти, а значит влияние на время сборки проекта.

#kotlin #koin #kmp #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍291
🏝 Вышел Kotlin 2.2.21 с поддержкой XCode 26 и исправлением багов

#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥10
🏝 KSP теперь не зависит от версии Kotlin. Неужели API плагинов Kotlin компилятора стало стабильным? Обновляйтесь до версии KSP 2.3.0 (версии Kotlin в названии больше нету)

Также KSP1 теперь deprecated, нужно чтобы всё умело работать с новой версией.

#ksp #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥44👍10🤯2
🏝 Вышел Koog 0.5.0 - фреймфорк для разработки ИИ агентов на Kotlin

👉 Новый формат описания стратегии агента - non-graph API. Теперь всё можно делать напрямую в Kotlin без работы с графами
👉 Улучшения сохранения и восстановления состояния без потери контекста
👉 Улучшения Tool API
👉 AIAgentService - способ управления несколькими агентами

#kotlin #ии #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍2
🏝 Когда стоит использовать non-graph API для описании стратегий (EN,11М) Мнение создателя и Team Lead Koog

Если коротко - использовать non-graph (функциональные) стратегии стоит в тех случаях, когда приоритетом является простота, скорость прототипирования и отсутствие необходимости в сложной инфраструктуре:
👉 Задача ограничена и хорошо определена
👉 Важно быстро создать и протестировать идею
👉 Нет требований к сохранению состояния и отказоустойчивости
👉 Не требуется сложная визуализация и наблюдаемость

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

#kotlin #ai #ии
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3
Media is too big
VIEW IN TELEGRAM
📹 What’s New in Kotlin 2.2.21 (and 2.2.20!)

0:00 Обзор Kotlin 2.2.20 и 2.2.21
0:31 Проверка полноты с учётом потока данных (Dataflow-based exhaustiveness checks)
2:42 Возвраты в телах выражений
3:50 Улучшенные контракты Kotlin
6:23 Другие изменения: обобщённые типы в блоках catch и invokedynamic-выражения
7:11 Обновления общего API для атомарных операций
9:05 Новая функция копирования массивов
10:15 Kotlin/Wasm в статусе Beta и отладка в браузере
11:57 Экспорт в Swift доступен по умолчанию (экспериментально)
14:21 Меньший размер бинарных файлов
15:12 Обновления документации
15:30 В релизе есть и другие изменения!

#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍4
🏝 Kotlin Multiplatfrom плагин стал доступен на Windows и Linux (macOS была ранее) для Idea и Android Studio

Примите, что работы с iOS не будет на Windows и Linux, но потом будет возможность собирать klib для всех платформ.

#kotlin #kmp #androidstudio #idea
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥376👍6🏆3
🐱 kthot - Kotlin DSL для JavaScript

createHTML().html {
head {
jslScript {
val button = Const {
JsButton.def("button")
} assign Document.getElementById("button")

+button.setOnClick {
val title = Const {
JsParagraph.def("title")
} assign Document.getElementById("title")

+title.setTextContent("Clicked!")
Log("Clicked!")
}
}
}
body {
div {
p {
id = "title"
}
}
button {
id = "button"
+"Click me"
}
}
}


#kotlin #js
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔227👍5
🏝 Kotlin 2.3.0 еще на шаг ближе - вышла Beta 2

Основные улучшения:

Язык: больше стабильных и включённых по умолчанию фич

Kotlin/JVM: поддержка Java 25.

Kotlin/Native: улучшенная совместимость с Swift export и включённые по умолчанию проверки типов на границах дженериков🔥

Kotlin/Wasm: включены полные имена и новая система обработки исключений.

Kotlin/JS: экспериментальный экспорт suspend-функций и новая реализация LongArray.

Gradle: поддержка Gradle 9.0 и новый API для регистрации сгенерированных исходников.

Стандартная библиотека: kotlin.time.Clock и kotlin.time.Instant теперь Stable.

#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍256🔥2
🏝 Руководство от JB по реализации мультиагентной ИИ системы на основe Koog. Также еще называется A2A

#kotlin #koog #ai #ии
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍3
🏝 Новейший инструмент от JetBrains для тестирования работы многопоточных программ помог исправить баги Kotlin компилятора

Litmus testing - это методика, схожая со стресс тестированием, но нацеленная на проверку работы многопоточных программ. Методика - запуск программы сотни или даже тысячи раз для поиска редких багов.


🐱 LitmusKt - решение от JetBrains Research, которое позволяет проверить работу многопоточных Kotlin приложений. Сейчас можно запускать Kotlin/JVM и Kotlin/Native на всех платформах.

// Пример теста
class StoreBufferingState(
var x: Int = 0,
var y: Int = 0,
var r1: Int = 0,
var r2: Int = 0,
)

val StoreBuffering = litmusTest(::StoreBufferingState) {
thread {
x = 1
r1 = y
}
thread {
y = 1
r2 = x
}
outcome {
r1 to r2
}
spec {
accept(listOf(0 to 1, 1 to 0, 1 to 1))
interesting(listOf(0 to 0))
}
reset {
x = 0
y = 0
r1 = 0
r2 = 0
}
}

# Результат выполнения теста
outcome | type | count | frequency
---------------------------------------------
[1, 0] | ACCEPTED | 6298680 | 48.451%
[0, 1] | ACCEPTED | 6291034 | 48.392%
[0, 0] | INTERESTING | 405062 | 3.1158%
[1, 1] | ACCEPTED | 5224 | 0.0401%


Жду примеров как использовать это с кодом из корутин

#kotlin #concurrency
Please open Telegram to view this post
VIEW IN TELEGRAM
👍302
🏝 Вышел Dokka 2.1.0 - движок для документирования Kotlin API

Новая версия сосредоточена на стабилизации экспериментальных фич, поддержке свежих возможностей Kotlin и улучшении пользовательского опыта при генерации документации.

Что нового:
Dokka Gradle Plugin v2 теперь включён по умолчанию
⚙️ K2 analysis активен по умолчанию
🧩 Поддержка context-параметров и вложенных typealias
🌐 Обновлённый HTML-формат — лучшее соответствие стандартам доступности и визуальная консистентность
🚀 Повышена производительность и совместимость

#kotlin #k2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14