fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

Kotlin Multiplatform Broadcast

Kotlin Multiplatform Broadcast

رفتن به کانال در Telegram

Новости и фичи Kotlin, а также Kotlin Multiplatform YouTubе канал: https://youtube.com/androidBroadcast Compose Multiplatform @compose_broadcast iOS разработка @ios_broadcast Новости Android @android_broadcast Реклама и прочее @ab_manager

نمایش بیشتر
9 554
مشترکین
-124 ساعت
+57 روز
+930 روز
آرشیو پست ها
🏝 Kotlin 2.5.20 потребует JDK 17+ для запуска компилятора JetBrains поднимает минимальную версию JDK, на которой работает ко
🏝 Kotlin 2.5.20 потребует JDK 17+ для запуска компилятора JetBrains поднимает минимальную версию JDK, на которой работает компилятор Kotlin, с 8 до 17. Причины: ускорить разработку, получить доступ к новым библиотекам и сохранить совместимость с новыми Gradle и Maven. 👉 2.5.0-Beta1 выдаёт предупреждение, с 2.5.0-Beta2 на JDK ниже 17 будет ошибка компиляции. Временно её отключает флаг -Xallow-pre-17-runtime-jdk (KT-88174) 👉 С 2.5.20-Beta1 JDK 17 обязателен без опций обхода. По плану 2.5.0 выйдет в декабре, 2.5.20 в марте 2027 👉 Речь о JDK, который запускает Gradle-демон, Maven или kotlinc, а не о jvmTarget. jvmToolchain() на это не влияет, байткод не меняется 👉 Кого касается: Android-проекты на AGP 8.0+ уже запускают Gradle на JDK 17. Проверьте CI и проекты на JDK 8/11: укажите JAVA_HOME или org.gradle.java.home Если обновиться не получается, JetBrains просит описать ваш кейс в YouTrack. 🔗 Гайд: Upgrading to JDK 17 🔗 What's new in Kotlin 2.5.0-Beta1 #Kotlin #JDK #Gradle

🏝 JetBrains теперь советует Kotlin Toolchain для новых KMP-проектов Kotlin Toolchain — это единый CLI с декларативным конфиг
🏝 JetBrains теперь советует Kotlin Toolchain для новых KMP-проектов Kotlin Toolchain — это единый CLI с декларативным конфигом проекта. Он сам скачивает JDK, Android SDK и iOS runtimes, а ещё собирает, тестирует и публикует KMP-приложения и библиотеки. Это бывший Amper, в мае я его пробовал. С версии 0.13 JetBrains рекомендует его для большинства новых KMP-проектов и добавит в гайды и визарды. Что нового в 0.13: 👉 kotlin new для интерактивного создания проекта, как в KMP Wizard 👉 iOS runtimes скачиваются сами, а simulator создаётся, если его нет 👉 импорт зависимостей через SwiftPM 👉 кэши Kotlin/Native переиспользуются между сборками и даже проектами 👉 недостающие компоненты Android SDK докачиваются при импорте в IDE 👉 для AI-агентов Hot Reload MCP server и skills: npx skills add kotlin/kotlin-agent-skills
⚠️ Важно: переводить существующие Gradle-проекты JetBrains пока не советует. Нужна IntelliJ IDEA 2026.2.3 или Android Studio Rabbit 1 и новее.
🔗 Анонс в блоге Kotlin #Kotlin #KMP

🏝 Вышел Kotlin 2.4.21 с исправлениями багов Это патч к Kotlin 2.4.20: 12 фиксов и никаких новых фич. Обновляться стоит тем, кто пишет под JS, Wasm, Native или использует скрипты. 👉 JS: в production-сборке библиотеки снова минифицируются имена members, а обычный класс с companion теперь может наследовать external class (KT-89449, KT-89363) 👉 Wasm: лямбда (T) -> R с аргументом не того типа бросает ClassCastException, а не падает с trap, и починили невалидный Wasm для generic-класса с @Serializable (KT-89267, KT-89275) 👉 Native: SwiftPM import не заваливает лог, пропала плавающая ошибка линковки «truncated or malformed archive» (KT-89285, KT-86251) 👉 JVM reflection: NoSuchElementException для Java non-static inner class внутри generic-класса (KT-89280) 👉 Scripting и JSR-223: NoClassDefFoundError при повторном запуске, сломанный eval() после generic Java bindings и утечка file handle, из-за которой на Windows не удалялся файл скрипта (KT-89247, KT-89220, KT-88453) 🔗 Release на GitHub #Kotlin

🏝 Kotlin 2.5.0: раздельная компиляция common и платформенного кода в KMP Сталкивались с багом IDE, когда подсвечивает вызов
🏝 Kotlin 2.5.0: раздельная компиляция common и платформенного кода в KMP Сталкивались с багом IDE, когда подсвечивает вызов в commonMain красным, а сборка проходит. Это не баг IDE, так устроена текущая схема компиляции KMP. Когда собирается, например, JVM-таргет, код из commonMain компилируется вместе с jvmMain против платформенных артефактов зависимостей, то есть против JAR. Поэтому common код может незаметно зарезолвиться в платформенную декларацию библиотеки. IDE же анализирует commonMain только по metadata KLIB, где есть лишь common-декларации. Из-за этого возникают три класса проблем. ❌ Красный код в IDE компилируется
// lib/jvmMain
class Foo
// app/commonMain
Foo() // IDE: Unresolved reference, сборка: ок
То же самое с commonTest: тесты могут вызывать код из jvmMain вместо commonMain. ❌ Выбирается другая перегрузка
// lib/commonMain
fun foo(x: Any) = "common"
// lib/jvmMain
fun foo(x: String) = "platform"
// app/commonMain
println(foo("")) // IDE ведёт в common, в рантайме печатается "platform"
❌ Вывод типов ломается только на одной платформе Если actual-классы на JVM добавляют лишний супертип (например, Serializable), то if (...) ClickEvent() else ScrollEvent() на JVM выводится в Any вместо Event. В итоге .name не резолвится, хотя IDE ошибок не видит. Что меняется с раздельной компиляцией в Kotlin 2.5.0 ✔️ 1. Common-код ведёт себя одинаково на всех платформах Сейчас один и тот же вызов из commonMain может выбрать разные перегрузки на разных таргетах:
// lib/commonMain
fun foo(x: Any) = "common"
// lib/jvmMain
fun foo(x: String) = "platform"
// app/commonMain
println(foo("")) // JVM: "platform", остальные таргеты: "common"
С тем же связан вывод типов. Если actual-класс на JVM добавляет супертип (например, Serializable), то if (...) ClickEvent() else ScrollEvent() на JVM выводится в Any, и код не собирается только там. В новом режиме common-код резолвится один раз и одинаково для всех. ✔️ 2. Common-код по-настоящему common Сейчас commonMain может случайно вызвать платформенный класс зависимости, и всё соберётся. Проблема всплывёт, когда добавите iOS или Wasm, и чинить придётся задним числом. Новый режим ловит это сразу, а исправление явное: через expect/actual. ✔️ 3. Тесты проверяют то, что заявлено commonTest сейчас может вызвать код из jvmMain вместо commonMain. Тест зелёный на JVM, хотя common-контракт он не проверяет. В новом режиме тесты видят только common API. ✔️ 4. Задел для ускорения сборки Если common source sets компилируются отдельно, их можно будет собирать инкрементально. JetBrains прямо называет это следующим шагом. Для больших KMP-модулей это потенциально заметный выигрыш. ✔️ 5. Согласованность IDE и компилятор Красный код в IDE больше не будет собираться, а Go to declaration будет вести туда, что реально вызовется. ✔️ Как включить (experimental, по умолчанию выключено):
# gradle.properties
kotlin.kmp.separateCompilation=true
Перед включением важно учесть: 👉 Авторам библиотек нужно публиковать metadata KLIB. KMP Gradle plugin делает это по умолчанию, но теперь без них работать не будет 👉 С cinterop пока есть проблемы коммонизации (KT-88178, KT-41509), так что включайте осторожно 👉 Модули с единственным таргетом пока не затронуты 👉 После включения часть старого кода может перестать собираться. Это места, где common-код случайно опирался на платформенные API Совет: включите флаг на ветке и посмотрите, что упадёт. Каждая такая ошибка показывает место, где common-код на самом деле не был common. 🔗 Подробнее в блоге Kotlin #Kotlin #KMP #IDEA

😄🏝 Kotlin от IntelliJ IDEA теперь в VS Code и Cursor JetBrains выпустила Release Candidate расширения Java and Kotlin by In
😄🏝 Kotlin от IntelliJ IDEA теперь в VS Code и Cursor JetBrains выпустила Release Candidate расширения Java and Kotlin by IntelliJ IDEA: это движок IntelliJ IDEA, который через LSP работает в VS Code и его форках. Внутри автодополнение, навигация, инспекции, рефакторинги по всему проекту, отладка, Gradle и Maven, а ещё к нему может обращаться Cursor Agent для поиска и анализа кода. Саму IDEA ставить не нужно: языковой сервер встроен в расширение и запускается сам, когда открываешь проект. Стабильная версия выйдет скоро, после неё будет 30-дневный триал, а дальше понадобится подписка IntelliJ IDEA Ultimate. Я давно говорил, что JetBrains стоит либо выносить свои наработки в собственного агента, либо продавать их другим, и вот они начали это делать. Жду такую же интеграцию в Claude Code, Codex и Grok. 🔗 Анонс JetBrains #Kotlin #IntelliJIDEA #Cursor

🏝 State of Kotlin 2026: главное из отчёта JetBrains к 15-летию языка 👥 Kotlin знают 8,1 млн разработчиков. Чем на нём пишут: Android 63%, backend 53%, KMP 31%, desktop 19%. 87% довольны языком, а для 7% Kotlin стал первым языком программирования. KMP 👉 Доля KMP среди кроссплатформенных фреймворков за год выросла с 7% до 18% 👉 В топ-10 000 App Store KMP-приложений почти 3%, в начале 2024-го было меньше 1%. За год их добавилось больше, чем на Flutter, а по выручке они Flutter уже догнали 👉 60% проектов шарят всю или почти всю бизнес-логику, а 81% KMP-разработчиков используют Compose Multiplatform (хотя бы на одном экране) Backend 👉 В компаниях, где больше 100 backend-разработчиков, Kotlin на бэке есть в 89% случаев 👉 По данным IDE, цикл разработки на Kotlin на 15–20% короче, чем на Java 👉 После миграции Spring Boot 2→3 Kotlin добавляли в 8 раз чаще. Следующее окно для этого открывает переход на Spring Boot 4 AI 👉 93% пишут код с AI-инструментами, 81% уже пробуют агентов 👉 AI-код на Kotlin в 63% случаев требует мелких правок, в 18% сразу корректен
Учитывайте, что основная часть цифр взята из опросов и телеметрии самой JetBrains.
#Kotlin #KMP

🏝 JetBrains убирает поддержку Swift из KMP-плагина Начиная с IntelliJ IDEA 2026.3 и Android Studio Rabbit 2 (2026.2.2), в плагине Kotlin Multiplatform больше не будет IDE-фич для Swift. ❌ Уходит редактирование, подсветка синтаксиса и навигация по Swift-файлам, а также переходы между Swift и Kotlin. ✔️ Все также можно будет запускать iOS-приложения и делать отладку Kotlin-кода на iOS. Kotlin/Native тоже не затронут, то есть Swift Export и импорт Swift-пакетов работают как раньше. Поддержка Swift досталась плагину от закрытого AppCode и поддерживать её совместимость с Swift, Xcode и IntelliJ Platform дорого. При этом пользовались ей мало, и с каждым годом всё меньше: iOS-разработчики в KMP-проектах пишут Swift в Xcode, а то и вовсе в агентах в терминале, а Kotlin-команды всё чаще делают UI на Compose Multiplatform. Замену JetBrains не планирует. В старых версиях IDE и плагина Swift-поддержка останется, но обновляться они уже не будут. Так что Swift-часть KMP-проекта теперь окончательно живёт в Xcode. 🔗 Источник - официальный блог Kotlin #Kotlin #KMP #iOS #Swift

🐱 KtorMonitor - библиотека для инспектинга Ktor запросов прямо на клиенте ‼️ ВАЖНО! Не тяните либу в продакшен! Только в дев
🐱 KtorMonitor - библиотека для инспектинга Ktor запросов прямо на клиенте ‼️ ВАЖНО! Не тяните либу в продакшен! Только в дев и тестовые сборки Live Demo можно попробовать тут

Опрос разработчиков на Kotlin от JetBrains - потратьте немного своего времени, чтобы помочь развитию экосистемы Kotlin! 👉 Пр
Опрос разработчиков на Kotlin от JetBrains - потратьте немного своего времени, чтобы помочь развитию экосистемы Kotlin! 👉 Пройти опрос!

🏝 Скрестил пальцы и очень жду новостей по Unused return value checker в Kotlin 2.5.0. Какую фичу в Kotlin вы ждете или хотеил бы увидеть?

⚡️⚡️AI-агент съел токены и потерял контекст. Что делать? Разберемся на Mobius 2026 Autumn. Когда AI становится частью рабочег
+4
⚡️⚡️AI-агент съел токены и потерял контекст. Что делать? Разберемся на Mobius 2026 Autumn. Когда AI становится частью рабочего процесса, появляются вполне инженерные вопросы: сколько токенов уходит на задачу, где агент теряет контекст, оправдан ли MCP, как поделиться рабочими практиками внутри команды и где автоматизация начинает создавать больше проблем, чем решает. Этим вопросам посвятят отдельный блок на Mobius 2026 Autumn — конференции по мобильной разработке. Восемь докладов, где AI-разработку рассмотрят с разных сторон: от оптимизации агентов и оркестрации до юридических ограничений и локальных моделей. Подробности — в карточках и на сайте. Конференция пройдет 21–22 октября в Санкт-Петербурге + онлайн.  🔥С промокодом kotlinbroadcast персональные билеты дешевле Купить билет Реклама. ООО «Джуг Ру Груп». ИНН 7801341446

🏝 Вышла первая Beta Kotlin 2.5.0 Что уже известно про новую версию (самое интересное) ✔️ Стабильный name based destructing (
🏝 Вышла первая Beta Kotlin 2.5.0 Что уже известно про новую версию (самое интересное) ✔️ Стабильный name based destructing
(val mail = email, val name = username) = user
Более простой (пока экспериментальный) способ реализации extention для companion object
// Объявление UnitX в качестве companion extension
companion val Vector.UnitX get() = Vector(1.0, 0.0)

data class Vector(val x: Double, val y: Double) {
    companion {
        // Объявление Zero в companion блоке
        val Zero: Vector get() = Vector(0.0, 0.0)
    }
}

// Можно вызывать
Vector.UnitX или Vector.Zero
🔗 Подробнее можно прочитать тут #Kotlin #Kotlin250

🚀 Вышел Ktor 3.6 Главное для тех, кто тащит Ktor на KMP/Android — артефакт ktor-client-engine-defaults. Кладешь в common, со
🚀 Вышел Ktor 3.6 Главное для тех, кто тащит Ktor на KMP/Android — артефакт ktor-client-engine-defaults. Кладешь в common, создаешь клиент без Android/CIO/OkHttp в shared-коде: на каждом таргете подтянется свой engine. Рядом HttpCache переехал на Path из kotlinx-io, так что файловый кэш больше не привязан к java.io.File:
// было в 3.5
// engine выбираешь сам в common или ожидаешь expect/actual
val client = HttpClient(OkHttp) {
    install(HttpCache) {
        publicStorage(FileStorage(...)) 
    }
}

// стало в 3.6: commonMain
api("io.ktor:ktor-client-engine-defaults:3.6.0")

val client = HttpClient() {
    install(HttpCache) {
        publicStorage(FileStorage(Path(...)))
    }
}
Ещё по клиенту: ContentNegotiation больше не обязан дописывать свои типы в Accept, если ты уже выставил заголовок сам — ContentTypeMergeStrategy.SkipIfPresent. Мелочь, но спасает, когда API капризный к точному Accept. 🔗 Анонс #Kotlin #Ktor #KMP

🏝 Следующий KotlinConf пройдет в апреле 2027 в Кракове, Польша!
🏝 Следующий KotlinConf пройдет в апреле 2027 в Кракове, Польша!

💉 Koin Compiler 1.2 проверяет уже весь DSL, то что стоило делать еще в 1.0 Koin Compiler - плагин Kotlin комплиятора, провер
💉 Koin Compiler 1.2 проверяет уже весь DSL, то что стоило делать еще в 1.0
Koin Compiler - плагин Kotlin комплиятора, проверящий гарф зависимостей Koin 4.X
До 1.2 плагин ловил дыры только в своём reified-DSL. Классика проходила мимо компилятора и падала уже в рантайме:
single<UserService>() // проверялось
singleOf(::UserRepository) // нет
single { AnalyticsHelper(get()) } // нет
В 1.2.1 оба стиля попадают в проверки. Плюс починили видимость определений зависимостей через два и больше Gradle-модуля и добавили entry point для install(Koin) в Ktor. Минимум - Koin 4.2.0 и Kotlin 2.3.20 Пока все также циклы в single { get() } всё ещё не видит, для этого лучше singleOf или single<T>(). Ждем следующий релиз! 🔗 Разбор от автора #Kotlin #Koin #KMP

Хакатон, который не про ещё один чат-бот за выходные, а про реальные задачи Узнал про КосмоХакатон и хочу поделится с вами, т
Хакатон, который не про ещё один чат-бот за выходные, а про реальные задачи Узнал про КосмоХакатон и хочу поделится с вами, так как реально интересный формат, где участникам будут предложены реальны задачи: мониторинг пожаров и гидрологии по снимкам ДЗЗ, автономное управление группировкой, верификация «зелёных» кредитов по состоянию леса. Можно взяться за решения задачи "топливный контур к 2035-му", где нужно спроектировать систему снабжения орбитального топливного узла на 2035–2040 гг. 🤯 Обычный хакатон часто сводится к скорости собрать демо и хорошо его презентовать. Здесь же идея другая - растить сферу у себя и давать людям пощупать настоящие задачи, а не выдуманный финтех на выходные. Участвовать могут школьники с 14 лет, студенты, молодые учёные. В ближайшие выходные 18-20 сентября будет очный тур в Красноярске и Санкт-Петербурге. По итогам будет финал в Москве с 25 по 27 сентября. Общий призовой фонд - 7.2 млн рос. рублей. Вы сможете завести полезные знакомства и обратить внимание для себя, поэтому рекомендую собрать команду или присоединится к существующей, чтобы ощутить не себе атмосферу. #Хакатон

⚙️ Podlodka Android Crew: Android × AI: новый workflow разработки С 21 по 25 сентября пройдет Podlodka Android Crew. Организа
+4
⚙️ Podlodka Android Crew: Android × AI: новый workflow разработки С 21 по 25 сентября пройдет Podlodka Android Crew. Организаторы конференции собрали сезон, в котором будет очень много свежего опыта, специфичного именно для мобильной разработки — это возможность обсудить актуальные задачи с опытными коллегами и ускорить свою работу. Что ждёт слушателей сезона 🤖 эффективный AI-пайплайн для Android: от дизайна до отладки и тестирования, ⚙️ настройка агента для предсказуемых результатов в мобильной разработке, 🔥 профилирование агентом: как делать это в 3 раза дешевле, ⭐️ необычные задачи, и как научить агентов их решать автономно. Сезон практический — в результате можно будет забрать не только новые идеи, но и сразу начать использовать собственные наработки, сделанные в ходе пяти дней конференции. Подробности о сезоне смотрите на сайте, и там же забирайте билеты. 👉 Билеты на Podlodka Android Crew По промокоду BROADCAST16 получите скидку🎁

🏝 Kotlin 2.4.20 вышел. Те кто знает зачем - обновляйтесь, позже расскажу что там полезного #Kotlin
🏝 Kotlin 2.4.20 вышел. Те кто знает зачем - обновляйтесь, позже расскажу что там полезного #Kotlin