Kotlin Multiplatform Broadcast
9.48K subscribers
835 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
KotlinX Fuzz - новая библиотека для fuzz тестирования на Kotlin от JetBrains

Фаззинг (fuzz testing или fuzzing) — это техника тестирования программного обеспечения, при которой приложению на вход передаются неправильные, неожиданные или случайные данные. Основная цель такого тестирования — выявление ошибок в работе программы

// Пример Fuzz теста
@KFuzzTest
fun testDuration(f: KFuzzer) {
val isoString = f.asciiString(10)
val duration = Duration.parseIsoStringOrNull(isoString)
println("$isoString -> $duration")
}

// Конфигурация теста в Gradle KTS
fuzzConfig {
instrument = listOf("kotlin.time.**")
maxFuzzTimePerTarget = 10.minutes
coverage {
reportTypes = setOf(CoverageReportType.HTML, CoverageReportType.CSV)
}
}


#kotlin #тестирование
👍22
🏝 Вышел RC Kotlin 2.1.21 с важными фиксами для KMP

👉 Работа с XCode 16.3
👉 Поддержка K2 в KAPT и Lombok плагинах
👉 Улучшения в stdlib
👉 Новый DSL на замену Gradle Application плагина
🚀 Улучшения производительности

#kotlin #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
Forwarded from Compose Broadcast
⚙️ JetBrains собирает реальные примеры приложение на Compose Multiplatform, чтобы подсветить их на главной странице сайта, видео, докладах и других материалах. Подать ваше приложение можно тут

#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38
🏝 K2 Mode в IntelliJ IDEA — что это и зачем он нужен?

JetBrains выпустили K2 Mode в IntelliJ IDEA 2025.1 — и это не просто галочка в настройках. Это новый режим анализа кода на Kotlin, который работает на движке K2 Compiler Frontend.

Зачем это нужно?
👉 Повышенная производительность при анализе кода
👉 Более точные инспекции и автодополнение
👉 Новый механизм лучше работает с современными фичами Kotlin
👉 Путь к улучшенной поддержке multiplatform и компиляции

В статье JetBrains делятся историей создания K2 Mode: как он развивался, с какими проблемами сталкивались, и почему переход на K2 — это стратегический шаг.

#kotlin #k2 #idea
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26
Отмена корутины не останавливает операцию мгновенно, а помечает корутину как "требующую остановки". Этот подход называется cooperative cancellation. Остановка корутины произойдет при вызове suspend-функции или проверке ее статуса через isActive. Специальное исключение CancellationException используется для уведомления всех связанных корутин о необходимости отмены.

Больше фактов об отмене корутины в статье 🏝 Разбор как устроена отмена выполнения корутины (EN, 3 мин) или по альтернативной ссылке. Также полезно ознакомиться с официальной документацией.

#kotlin #coroutines
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍66🔥1
🎉 Результаты розыгрыша:

🏆 Победитель:
1. Александр (@al35353535)

✔️Проверить результаты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
📹 Ktor Server Fundemantals - бесплатный видео курс по использованию Ktor для создания собственного сервера и интеграции с популярными технологиями

(все видео курса в комментариях к видео)

#kotlin #ktor #server
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43
🏝 App Platform от Amazon - легковесный KMP фреймворк для разработки клиенстких приложений. Позволяет управлять состоянием и управлять памятью. Поддерживает Android, iOS, JVM, Native и Web!

Концепция строится вокруг модульной структуры для разделения API и реализации. Для DI по умолчанию используется kotlin-inject-anvil, для Presenter - Molecule, но можно заменить. UI слой может быть написан на удобном для вас UI фреймворке.

Для настройки требуется подключение Gradle плагина

На момент написания поста доступна версия 0.0.1

#kotlin #kmp #android #ios #web #desktop #jvm #native
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25
🏝 Избегайте использования Array типов в конструкторе data class потому что:
👉 equals() и hashCode() в Array не сравнивает содержимое массива
👉 Array - модифицируемый тип, могут изменить данные снаружи

Рекомендуется использовать List или ImmutableList

Источник тут (альтернативная ссылка)

#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍90
🏝 Вышел KSP 2.0.1 для Kotlin 2.1.20 Исправили баги в работе KSP2

#kotlin #ksp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
🏝 klibs.io активно развивается и за прошедший месяц количество библиотек за апрель 2025 увеличилось в 2 раза 🚀

#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38
Forwarded from Compose Broadcast
⚙️ Вышел Compose Multiplatform 1.8.0

Что нового:
👉 Переход на K2
🏝 Поддерживается Kotlin 2.1.0 или выше
👉 Мультиплатформенные реализации BackHandler и PredictiveBackHandler
👉 Улучшения в тестах
👉 Поддержка вариативных шрифтов на всех платформах
👉 Clipboard API заменяет ClipboardManager для работы c буфером обмена на всех платформах
👉 Множество улучшений в Compose/iOS
👉 На Windows улучшили производительность и размер инсталятора
🤖 Поддержка Compose ресурсов в таргете androidLibrary

Множество других улучшений, которые надо разбирать отдельными постами.

#compose #k2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍50
Forwarded from Compose Broadcast
🔥⚙️ Compose iOS теперь Stable

Самый громкий и важный анонс в истории Compose Multiplatform с выходом версии 1.8.0

Что именно готово для продакшен применения
👉 Все основные фичи из Jetpack Compose работают на iOS
👉 Типобезопасная навигация с поддержкой deep link
👉 Гибкое управление ресурсами
👉 Поддержка iOS Accessibility API
👉 Ощущения от UI приложения как нативного (скрол, редактирование текста, drag-and-drop, адаптивный UI, навигация жестами и пр)
👉 Производительность UI на Compose близка к SwiftUI, но пока немного уступает

Новая эра мобильной разработки уже тут!

#compose #ios
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍132
🚀 Библиотека Jetpack Saved State стала KMP с поддержкой Android, iOS, Linux, Mac и JVM. Решение поможет вас сохранять состояние при смерте процесса приложения для восстановления состояния

#jetpack #kotlin #kmp #android #ios #desktop
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37
🏝 Статус Kotlin для Web

JetBrains рассказала про статус и будущее Kotlin Multiplatform для Web разработки. Сейчас в работе:
👉 Улучшении поддержки в IDE
👉 Достичь Beta статус для Kotlin/Wasm и Compose Multiplatform для Web
👉 Режим совместимости со старыми браузерами для Compose Multiplatform
👉 Избавиться от большинства ограничений интеропа в Kotlin/JS
👉 Поддержать современны стандарты JavaScript в Koltin/JS

#kotlin #web #wasm #js
Please open Telegram to view this post
VIEW IN TELEGRAM
👍49
JetBrains проводит опрос по документации Kotlin на оф сайте

#kotlin #опрос
👍9
🏝 Используйте build функции коллекций вместо наполнения объектами

Зачастую вижу код
val list: MutableList<Value> = mutableListOf()
list.add(value0)
if(...) list.add(value1)


Вместо этого рекомендую использовать buildList
val list: List<Value> = buildList {
add(value0)
if(...) add(value1)
}

Плюсом такого подхода - отсутствие работы с мутируемой коллекцией

Есть аналоги для других типов коллекций: buildSet и buildMap

#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍172