Как найти неиспользуемые зависимости в Dagger Component (EN,11м)
С помощью Dagger SPI автор написал анализатор графа Dagger c целью поиска неиспользуемых зависимостей и описал подход в статье. Также подход можно использовать для визуализации графа зависимостей, считать разные метрики графа и пр.
🐱 Исходный код на GitHub
🔗 Альтернативная ссылка
#dagger #di #opensource
С помощью Dagger SPI автор написал анализатор графа Dagger c целью поиска неиспользуемых зависимостей и описал подход в статье. Также подход можно использовать для визуализации графа зависимостей, считать разные метрики графа и пр.
🔗 Альтернативная ссылка
#dagger #di #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍26
Разработчик на простом примере показывается как сделать чистую архитектуру в Android проекте, подробно описывая каждый шаг. Полезно будет для новичков. Читайте тут (12м)
#android #архитектура
#android #архитектура
👍19
Forwarded from Kotlin Multiplatform Broadcast
Metro - Новый DI фреймворк на чистом Kotlin (ещё в разработке)
#kotlin #di #ksp
@DependencyGraph
interface AppGraph {
val httpClient: HttpClient
@Provides
private fun provideFileSystem(): FileSystem = FileSystem.SYSTEM
}
@Inject
class HttpClient(private val fileSystem: FileSystem)
@Inject
@Composable
fun App(circuit: Circuit)
#kotlin #di #ksp
👍21
Обзор(EN,7М) как оценивать время выполнения Gradle тасков в разных условиях для Android проектов. Если коротко - используйте Gradle Profiler и правильно настраивайте сценарий
🔗 Альтернативная ссылка
#android #gradle #производительность
🔗 Альтернативная ссылка
#android #gradle #производительность
👍15
Forwarded from AvitoTech
Продолжаем разбираться в паттернах! На очереди — порождающие 🚀
В новом выпуске рассмотрим первые два Builder (Строитель) и Factory Method (Фабричный метод) — паттерны, задача которых скрывать детали создания объектов в абстракциях.
🔍 В выпуске рассказали про подводные камни использования, их назначение, плюсы и минусы. А ещё объяснили, откуда взялся паттерн фабрика и почему паттерны — не аксиомы:
📺 YouTube
🔵 VK Видео
💻 Rutube
#backend
В новом выпуске рассмотрим первые два Builder (Строитель) и Factory Method (Фабричный метод) — паттерны, задача которых скрывать детали создания объектов в абстракциях.
#backend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30
Сканер доступен всем, у кого есть доступ к Google Pay API for Android. Для использования API не требуется разрешение на использование камеры в вашем приложении.
Для работы API также необходимы: Google аккаунт на устройстве, 1+ GB RAM, наличие задней камеры и Google Play Services, а также поддержка портретной ориентации.
#android #googleplay
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40
This media is not supported in your browser
VIEW IN TELEGRAM
Для работы необходимо оформить подписку Gemini Code Assist Standard (от 19$ в месяц) или Enterprise (от 45$ в месяц).
#android #androidstudio #ai #gemini
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
В Android Studio Narwal 2025.1.1 добавили возможность тестирования бэкапа данных приложения и его восстановления
#android #androidstuido
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35
Генерация Composable Preview с помощью Gemini в Android Studio Narwhal 2025.1.1
#android #androidstudio #gemini #compose
#android #androidstudio #gemini #compose
👍42
Forwarded from Kotlin Multiplatform Broadcast
Вышел KSP 2.0, который теперь работает на KSP2 по умолчанию. Теперь работает на K2 и отдельный генератор исходников с большей гибкостью
#kotlin #ksp
#kotlin #ksp
👍28
Demeter хорош тем, что он не заменяет привычные инструменты анализа производительности, а дополняет собираемую информацию для лучшего понимания скорости работы кода приложения. Также всю информацию можно увидеть прямо на экране устройства.
Инструмент имеет плагинную архитектуру и открытый исходный код, что позволяет вам сделать собственные расширения. Из коробки доступны плагины:
• Замер времени выполнения методов и добавление большей информации для профайлера
• Подсчет количества рекомпозиций в Composable функциях
• Время инициализации зависимостей из Dagger графа
(предлагайте в комментариях, какие замеры было бы полезно сделать в ваших приложениях, а я буду делиться своими)
Demeter может работать через плагин Kotlin компилятора (только с исходным кодом в вашем проекте) и/или через модификацию байткода, где уже можно следить за кодом в подключённых библиотеках без исходного кода. Подробнее можно ознакомиться в статье.
Измерять производительность на дебаг билдах смысла не имеет, так как там много лишнего, а вот когда проходит регресс или через автотесты замерять, то как раз Demeter тут будет полезен, так как важна оценка в одинаковых условиях.
Задавайте свои вопросы по библиотеке, и ещё сделаем отдельное интервью про производительность приложений и тем как за ней постоянно следить, выдерживая заданную планку качества работы.
#android #производительность #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29
🔥 Главное нововведение этой версии Room — рефакторинг библиотеки для поддержки нескольких платформ через KMP: Android, iOS, JVM (Desktop), native Mac и native Linux. Документацию о том, как начать, можно найти здесь. В рамках поддержки KMP было выделено SQLiteDriver.
#android #kmp #jetpack #ios #desktop #mac #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34
Что нового:
👉 Возможность настройки AsyncLayoutFactory при инициализации AsyncLayoutInflater, что позволяет использовать AsyncAppCompatFactory для корректной работы с AppCompat view
👉 inflate метод теперь принимает Executor на котором будет вызван callback OnInflateFinishedListener
#android #jetpack #jetpackupdate
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Самое важное в новой версии - поддержки Android 16, а также использование JSpecify nullness annotations. При использовании с Kotlin разработчикам для корректной работы надо передать аргументы
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
#android #jetpack #android16
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
#android #jetpack
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Представили Firebase Studio — AI-агент среда на основе Gemini.
Что позволяет инструмент:
👉 Прототипировать проекты на множестве языков программирования
👉 Быстро изменять код проекта через коммуникацию в AI-чате
👉 Переходить и просматривать код проекта в любой момент
👉 Проверять, как будет выглядеть ваш прототип, через генерацию публичной ссылки на веб-превью
👉 Быстрая публикация с помощью Firebase App Hosting
👉 Совместная работа над проектом в реальном времени
В будущем появятся агенты Gemini Code Assist для расширения возможностей.
#firebase #ai #gemini
Что позволяет инструмент:
👉 Прототипировать проекты на множестве языков программирования
👉 Быстро изменять код проекта через коммуникацию в AI-чате
👉 Переходить и просматривать код проекта в любой момент
👉 Проверять, как будет выглядеть ваш прототип, через генерацию публичной ссылки на веб-превью
👉 Быстрая публикация с помощью Firebase App Hosting
👉 Совместная работа над проектом в реальном времени
В будущем появятся агенты Gemini Code Assist для расширения возможностей.
#firebase #ai #gemini
👍25
Также сегодня вышли beta версии Jetpack Navigation 2.9, Jetpack Lifecycle 2.9 (lifecycle, viewmodel), Saved State 1.3, Jetpack Activity 1.11, RecyclerView-Selection Version 1.2.0
#android #jetpack #jetpackupdate
#android #jetpack #jetpackupdate
👍16