Telegram Web
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
🔥 На конференции по Аврора ОС объявили о поддержки 🏝 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
🏝 Вышло второе издание "Kotlin в действии" на русском языке

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

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

#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
🏝 Подробности работы 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
🏝 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
Please open Telegram to view this post
VIEW IN TELEGRAM
🏝 Новая фича 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
🏝 JetBrains поделилась новостями касательно K2 режима работы Kotlin

Из самого важного:
👉 Новый режим будет по умолчанию включен в Idea 2025.1 (и Android Studio Narwhal)
👉 K2 позволяет ускорить работу c Kotlin в IDE
👉 Новые фичи языка в IDE уже только поддерживают K2 режим

По тем плагинам что использую я для Android и KMP разработки в Android Studio Meerkat FD 2024.3 уже все работают с K2. Пробуйте и вы, а затем делитесь мнением в комментариях

#kotlin #k2 #idea
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/07/05 21:51:39
Back to Top
HTML Embed Code: