Kotlin Multiplatform Broadcast
9.48K subscribers
833 photos
53 videos
1.12K links
Новости и фичи Kotlin, а также Kotlin Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
Kotlin и Swift покинули 20 самых популярных языков программирования

Всё из обновления рейтинга TIOBE 20. Kotlin опустился на 25-е место. Лидирует Python 🤯

У Kotlin и Swift одна и та же причина спада. Оба они в основном используются для одной конкретной мобильной платформы — Android и iOS соответственно, тогда как в настоящее время существуют и другие достаточно хорошие языки и фреймворки для разработки кроссплатформенных приложений. Да, Swift можно использовать для разработки под Android, но это довольно сложно. А Kotlin на iOS так и не получил широкого распространения.


#kotlin
👍16
Вышел KSP 2.0, который теперь работает на KSP2 по умолчанию. Теперь работает на K2 и отдельный генератор исходников с большей гибкостью

#kotlin #ksp
👍21
Forwarded from Android Broadcast
🚀 Вышла новая версия Jetpack Room 2.7.0 с поддержкой KMP.

🔥 Главное нововведение этой версии Room — рефакторинг библиотеки для поддержки нескольких платформ через KMP: Android, iOS, JVM (Desktop), native Mac и native Linux. Документацию о том, как начать, можно найти здесь. В рамках поддержки KMP было выделено SQLiteDriver.

🏝 При использовании KSP теперь будет генерироваться код на Kotlin, а для KAPT или проектов с Java — на Java.

🏝 Поддерживается Kotlin 2.0 и выше, также рекомендуется использовать KSP2.

#android #kmp #jetpack #ios #desktop #mac #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28
Forwarded from Android Broadcast
🤖 Demeter — инструмент для анализа производительности Android приложений

🔧 В опенсорс выложили инструмент для сбора метрик работы Android приложений - Demeter. Решение было разработано в рамках задач по улучшению скорости запуска и работы приложений. Команде не хватало информации, которую собирают готовые решения, поэтому ребята сделали свой инструмент.

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

Инструмент имеет плагинную архитектуру и открытый исходный код, что позволяет вам сделать собственные расширения. Из коробки доступны плагины:
• Замер времени выполнения методов и добавление большей информации для профайлера
• Подсчет количества рекомпозиций в Composable функциях
• Время инициализации зависимостей из Dagger графа
(предлагайте в комментариях, какие замеры было бы полезно сделать в ваших приложениях, а я буду делиться своими)

Demeter может работать через плагин Kotlin компилятора (только с исходным кодом в вашем проекте) и/или через модификацию байткода, где уже можно следить за кодом в подключённых библиотеках без исходного кода. Подробнее можно ознакомиться в статье.

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

❗️ ВАЖНО! Demeter можно интегрировать в продакшен билд, но НЕ НАДО этого делать. Весь замер должен производиться на тестовых сборках с включением опций профилирования через AndroidManifest.

Задавайте свои вопросы по библиотеке, и ещё сделаем отдельное интервью про производительность приложений и тем как за ней постоянно следить, выдерживая заданную планку качества работы.

#android #производительность #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
🔥 На конференции по Аврора ОС объявили о поддержки 🏝 Kotlin Multiplatform и в скоро будущем будет работать и ⚙️ Compose Multiplatform

Как только станет доступно попробовать - подключу в свой проект Frame.io

Источник - @AuroraDevelopers

#kmp #аврораос
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍46
🏝 Вышло второе издание "Kotlin в действии" на русском языке

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

Скриншоты оглавления в комментариях 🔽

#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83
🏝 Подробности работы KMP под Аврора ОС

Коллеги из ОМП поделились со мной презентаций по KMP. Что самое важное
👉 Появится Gradle плагин для добавления Aurora таргета в KMP проекты
👉 Будут сделаны QT Binding чтобы пользоваться нативными API из KMP кода
👉 ОМП сделают версии популярных KMP библиотек под Аврора с публикацией в собственном Maven репо
👉 Compose Multiplatform в работе и покажут в 2026

#kotlin #аврораос
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28
🏝 QTBindings для KMP

QTBindings - Gradle плагин для генерации Qt оберток для скомпилированной C библиотеки для удобной связки с Kotlin. Автоматически пробрасывает Kotlin вызовы в классы QT, чтобы из QML вызывать код, написанный на Kotlin

#kotlin #аврораос #qt
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍20
🏝 Новая фича Kotlin - Context Parameters

В Kotlin 2.2 в Beta статусе появится фича - Context parametrs, которая заменяет Context receivers (будут удалены в Kotlin 2.3)

// Пример Context parameters из Kotlin 2.2
interface Type {
context(analysisScope: AnalysisScope)
val isNullable: Boolean = ...
}

context(analysisScope: AnalysisScope)
fun Type.equalTo(other: Type): Boolean = ...

context(_: AnalysisScope)
val Type.isBoolean: Boolean get() = this.equalTo(BuiltIns.Boolean)


Всем разработчикам рекомендуется выполнить миграцию (будет автоматическая замена из IDE)

Делитесь в комментариях своими сценариями применения новой возможности языка

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