Ты не пройдешь! Сказал Джейк Вортон всем LLM для контрибьюта в OkHttp, Okio, Retrofit и SQLDelight библиотеки.
Пока не рассказали как будет определяться, что код или PR от LLM, но война объявлена. Так же непонятно какие будут последствия для тех кто попробует что-то зарепортить или влить с LLM.
Как вы оцените такой подход авторов популярного Open Source?
Пока не рассказали как будет определяться, что код или PR от LLM, но война объявлена. Так же непонятно какие будут последствия для тех кто попробует что-то зарепортить или влить с LLM.
Как вы оцените такой подход авторов популярного Open Source?
Яндекс выкатил первый мажор своего DI-фреймворка. Основное:
👉 Единый backend-agnostic
Yatagan entry point в api-public. Reflection или codegen подхватываются автоматически, имплементация с генерацией кода имеет приоритет.👉 Экспериментальный Dagger compatibility mode. Включаешь
yatagan.experimental.enableDaggerCompatibility и Yatagan генерит DaggerMyComponent фасады. Старые DaggerMyComponent.create() / .builder() продолжают работать. Поддерживается ядро (components, modules, scopes, multibindings, assisted), без Hilt/Android/producers.👉 Conditions API почистили: legacy
@Condition/@AnyCondition deprecated в пользу @ConditionExpression, @Provides(Conditional(...)) → отдельный @Conditional на методе.👉 Runtime-конфиг стал declarative (processor options +
parameters.properties), убрали глобальный mutable state.Есть подробный migration guide и даже скилл для агента:
npx skills add yandex/yataganЭто RC. Compatibility mode экспериментальный — граф лучше провалидировать. Но для тех, кто уже страдает от Dagger на больших проектах и смотрел в сторону Yatagan, порог входа заметно снизился.
🔗 Release Notes
#Android #AndroidDev #DI #Яндекс
Please open Telegram to view this post
VIEW IN TELEGRAM
Технологии на пороге тектонического сдвига 🧠
Мир разработки переживает не просто обновление версий и фреймворков, а смену фундаментальных принципов. AI диктует новые правила игры: перестраиваются архитектура приложений, инженерные процессы и даже взаимодействие с пользователем.
Именно об этом пойдет речь на deep tech night — конференции Яндекса о технологических вызовах в эпоху AI.
Это разговор о реальном опыте команд, которые решают сложные задачи на стыке AI, разработки, инфраструктуры и данных. Выступать будут приглашенные эксперты, среди которых Мо Гавдат (бывший Chief Business Officer Google X) и спикеры Яндекса, которые поделятся своим практическим опытом.
Среди тем докладов:
- Как ИИ изменит разработку ПО, процессы и роль разработчика, Мо Гавдат.
- Как новые подходы помогают перейти от надстройки над классическими системами к одностадийным рекомендациям без ручного фичеинжиниринга, Алексей Гусаков (CTO Бизнес‑группы Поисковых сервисов и ИИ).
- Как в RL для больших моделей искать баланс между алгоритмами и производительностью, Иван Сапожков (руководитель группы базовой ML‑инфраструктуры).
👉 Регистрируйтесь, чтобы получить доступ к трансляции докладов, задать вопросы экспертам в прямом эфире и посмотреть запись после события. Полная программа и подробности про офлайн можно посмотреть на сайте.
Мир разработки переживает не просто обновление версий и фреймворков, а смену фундаментальных принципов. AI диктует новые правила игры: перестраиваются архитектура приложений, инженерные процессы и даже взаимодействие с пользователем.
Именно об этом пойдет речь на deep tech night — конференции Яндекса о технологических вызовах в эпоху AI.
Это разговор о реальном опыте команд, которые решают сложные задачи на стыке AI, разработки, инфраструктуры и данных. Выступать будут приглашенные эксперты, среди которых Мо Гавдат (бывший Chief Business Officer Google X) и спикеры Яндекса, которые поделятся своим практическим опытом.
Среди тем докладов:
- Как ИИ изменит разработку ПО, процессы и роль разработчика, Мо Гавдат.
- Как новые подходы помогают перейти от надстройки над классическими системами к одностадийным рекомендациям без ручного фичеинжиниринга, Алексей Гусаков (CTO Бизнес‑группы Поисковых сервисов и ИИ).
- Как в RL для больших моделей искать баланс между алгоритмами и производительностью, Иван Сапожков (руководитель группы базовой ML‑инфраструктуры).
👉 Регистрируйтесь, чтобы получить доступ к трансляции докладов, задать вопросы экспертам в прямом эфире и посмотреть запись после события. Полная программа и подробности про офлайн можно посмотреть на сайте.
Forwarded from Compose Broadcast
Официально появился
mediaQuery — лямбда, которая смотрит на текущий UiMediaScope и возвращает boolean. Внутри можно проверять:👉
windowWidth / windowHeight👉
windowPosture (Tabletop, Book, Flat)👉
pointerPrecision (Fine → Coarse → Blunt → None)👉
keyboardKind (Physical / Virtual / None)👉
hasCamera / hasMicrophone👉
viewingDistance (Near / Medium / Far)Включается одним флагом при запуске приложения:
ComposeUiFlags.isMediaQueryIntegrationEnabled = true
Для размеров, которые дёргаются часто, лучше использовать
derivedMediaQuery (обёртка над derivedStateOf):// Composable code
val narrowerThanMedium by derivedMediaQuery {
windowWidth < WindowSizeClass.WIDTH_DP_MEDIUM_LOWER_BOUND.dp
}
val narrowerThanExpanded by derivedMediaQuery {
windowWidth < WindowSizeClass.WIDTH_DP_EXPANDED_LOWER_BOUND.dp
}
when {
narrowerThanMedium -> SinglePaneLayout()
narrowerThanExpanded -> TwoPaneLayout()
else -> ThreePaneLayout()
}
Самый чистый кейс — foldable в tabletop:
// Composable code
if (mediaQuery { windowPosture == UiMediaScope.Posture.Tabletop }) {
TabletopLayout()
} else {
FlatLayout()
}
Это API не замена WindowSizeClass, но удобный единый вход для всего, что меняется в рантайме. Если пишете адаптив под foldable / desktop / TV — возьмите на заметку. Пока не перенесли в Compose Multiplatform.
Документация Media Query API
#Compose #JetpackCompose #Adaptive #UI #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
XR SDK - набор библиотек для разработки приложения для очков и шлемов дополненной реальности на Android XR ОС
Google выкатил beta для трёх ключевых кусков:
-
androidx.xr.scenecore:scenecore:1.0.0-beta02-
androidx.xr.arcore:arcore:1.0.0-beta02-
androidx.xr.runtime:runtime:1.0.0-beta02Compose for XR пока ещё
1.0.0-alpha17 (обещают beta скоро).Тестировать можно на Samsung Galaxy XR или в Android XR Emulator.
🔗 Официальный анонс
#Android #AndroidXR #XR #AndroidDev
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯 И ты, Gradle, ударился в AI
Gradle запустил инициативу Agentic Gradle. Цель — сделать сборку понятной не только человеку, но и кодинг агентам.
Что внутри:
👉 официальные skills (инструкции в духе Claude Skills) — как читать ошибки, запускать таски, разбирать Build Scan. Skills обещают в ближайшие недели (после бенчмарков).
👉 бенчмарки, которые измеряют реальный эффект skills;
👉 убирание лишнего текста, чтобы не жечь токены зря.
Ценой стал сдвиг Configuration Cache с Gradle 10 на 11.
Сам кэш уже стабильный — включай руками:
Самое показательное даже не skills. Билд-система — штука, которая вроде бы должна стоять чуть в стороне от хайпа. И вот Gradle тоже идёт в agentic. Потому что пользователи уже этого хотят, потому что открываются новые способы продвижения, потому что инвесторам это нужно показывать. Даже серьёзные инструменты сейчас вынуждены "кланяться".
🔗 Источник - блог Gradle
#Gradle #AI
Gradle запустил инициативу Agentic Gradle. Цель — сделать сборку понятной не только человеку, но и кодинг агентам.
Что внутри:
👉 официальные skills (инструкции в духе Claude Skills) — как читать ошибки, запускать таски, разбирать Build Scan. Skills обещают в ближайшие недели (после бенчмарков).
👉 бенчмарки, которые измеряют реальный эффект skills;
👉 убирание лишнего текста, чтобы не жечь токены зря.
Ценой стал сдвиг Configuration Cache с Gradle 10 на 11.
Сам кэш уже стабильный — включай руками:
org.gradle.configuration-cache=true
Самое показательное даже не skills. Билд-система — штука, которая вроде бы должна стоять чуть в стороне от хайпа. И вот Gradle тоже идёт в agentic. Потому что пользователи уже этого хотят, потому что открываются новые способы продвижения, потому что инвесторам это нужно показывать. Даже серьёзные инструменты сейчас вынуждены "кланяться".
🔗 Источник - блог Gradle
#Gradle #AI
В Android 17 на Pixel уже работают per-app memory limits. Сегодня Google написал, что в течение года их начнут включать всё больше производителей на устройствах от 4 ГБ RAM и больше.
Как это работает на практике:
1. Превысил бюджет → страницы приложения насильно уходят в zRAM (сжатая RAM). CPU-оверхед → jank и тормоза.
2. Приложение продолжает есть много памяти дальше → процесс убивают.
Можно отловить причину это ловится через
ApplicationExitInfo:-
reason == REASON_OTHER-
description содержит "MemoryLimiter:AnonSwap"Можно ещё повесить
TRIGGER_TYPE_ANOMALY в ProfilingManager и автоматически снимать heap dump в момент, когда лимит сработал.Для локального теста поведения можно использовать adb:
adb shell am memory-limiter status
adb shell am memory-limiter manual <pid> <limit_mb>
adb shell am memory-limiter ignore <uid>|all|none
В Android Vitals и Crashlytics 20.1.0 уже есть отдельные сигналы по этим убийствам. Если у тебя в приложении есть тяжёлые экраны, кэши, игры или foreground-сервисы - следи за метриками.
🔗 Источник - блог Android Developers
#Android #AndroidDev #Android17
Please open Telegram to view this post
VIEW IN TELEGRAM
😂 Как же долго мы ждали этого - Gemini Enterprise теперь в Android Studio
#AnroidStudio #AI #AndroidDev #Gemini
#AnroidStudio #AI #AndroidDev #Gemini
🔥 Android-разработчик, твоё приложение — это песочница, но пользователь может пробить в ней дыру в любой момент.
Многие думают, что разрешения — это просто диалог «Разрешить / Запретить». На самом деле это многослойная система с двумя уровнями проверок, временными разрешениями, автоматическим отзывом и политиками Google Play, которые могут заблокировать твоё приложение ещё на этапе публикации.
В этом видео мы копаем глубже документации и разбираем:
👉 Скрытый фреймворк AppOps — второй слой защиты, который может тихо заблокировать доступ, даже если у тебя есть грант.
👉 URI Permission Grants — механизм делегирования доступа без необходимости запрашивать широкие разрешения.
👉 Как проектировать архитектуру, чтобы приложение не падало, когда пользователь говорит «Нет».
Разрешение — это не гарантия доступа. Это формальное разрешение внутри сложной многоуровневой системы ограничений. Если твоя фича не работает без разрешения — это не проблема пользователя. Это баг архитектуры.
🎯 Кому смотреть:
👉 Android-разработчикам, которые хотят строить стабильные и устойчивые приложения
👉 Техлидам и архитекторам, которые проектируют приватность-first системы
👉 Всем, кто устал от крашей после отзыва разрешений в настройках
👉 Хочет лучше формировать требования для AI агентов и понимать что происходит
📌 В видео:
👉 Реальный путь разрешения — от манифеста до системного сервиса
👉 Почему
👉 Как обходиться без разрешений через системные пикеры
👉 Google Play политики, которые могут забанить твоё приложение
Разрешения — это не техническая деталь. Это контракт доверия между твоим продуктом и пользователем.
———
Ставь 🔥, если хочешь видеть больше глубоких разборов Android-архитектуры! (будут только под платной подпиской)
🪙 Полный разбор на Boosty
Многие думают, что разрешения — это просто диалог «Разрешить / Запретить». На самом деле это многослойная система с двумя уровнями проверок, временными разрешениями, автоматическим отзывом и политиками Google Play, которые могут заблокировать твоё приложение ещё на этапе публикации.
В этом видео мы копаем глубже документации и разбираем:
👉 Скрытый фреймворк AppOps — второй слой защиты, который может тихо заблокировать доступ, даже если у тебя есть грант.
👉 URI Permission Grants — механизм делегирования доступа без необходимости запрашивать широкие разрешения.
👉 Как проектировать архитектуру, чтобы приложение не падало, когда пользователь говорит «Нет».
Разрешение — это не гарантия доступа. Это формальное разрешение внутри сложной многоуровневой системы ограничений. Если твоя фича не работает без разрешения — это не проблема пользователя. Это баг архитектуры.
🎯 Кому смотреть:
👉 Android-разработчикам, которые хотят строить стабильные и устойчивые приложения
👉 Техлидам и архитекторам, которые проектируют приватность-first системы
👉 Всем, кто устал от крашей после отзыва разрешений в настройках
👉 Хочет лучше формировать требования для AI агентов и понимать что происходит
📌 В видео:
👉 Реальный путь разрешения — от манифеста до системного сервиса
👉 Почему
checkSelfPermission — это только начало👉 Как обходиться без разрешений через системные пикеры
👉 Google Play политики, которые могут забанить твоё приложение
Разрешения — это не техническая деталь. Это контракт доверия между твоим продуктом и пользователем.
———
Ставь 🔥, если хочешь видеть больше глубоких разборов Android-архитектуры! (будут только под платной подпиской)
Please open Telegram to view this post
VIEW IN TELEGRAM
Coroutine Leak Detector — IDE-плагин для проверки кода корутин и Flow на предмет утечек:
👉
GlobalScope.launch / async👉
collect / collectLatest без repeatOnLifecycle / flowWithLifecycle👉
runBlocking (особенно на UI)👉
async { } без использования Deferred (исключения не будут перехвачены)👉
Job / SupervisorJob / CoroutineScope без .cancel() в onCleared/onDestroy👉 захардкоженные
Dispatchers.IO/Main/DefaultДоступны quick-fix (
Alt+Enter). Если код находится внутри ViewModel, плагин автоматически подставляет viewModelScope. В Fragment/Activity — lifecycleScope или оборачивает collect в repeatOnLifecycle(STARTED).Пока плагина нет в Marketplace. Установка выполняется через Gradle:
// сборка плагина, он появится в build/distributions/
./gradlew buildPlugin
// затем установить плагин через интерфейс IDE
Идея хорошая, но остался один вопрос: почему именно IDE-плагин? Нельзя ли было реализовать проверки через Android Lint или использовать другой анализатор? Тем более что с ИИ сейчас это можно сделать эффективно, а от IDE я уже совсем отошёл.
#Kotlin #Coroutines #AndroidStudio #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
С февраля 2027 года Google Play будет следить за новыми показателями приложения:
Для тех приложений, что не буду соответствовать новым планкам качества будут применяться санкции: пропадут из выдачи поиска, а потом и вовсе удалены.
Больше личного мнения автора в @rozov_blog. Подписывайтесь!
#GooglePlay #AndroiDev
Please open Telegram to view this post
VIEW IN TELEGRAM
В Android уже давно поддерживается стандарт Zero-Tap Sign-In - быстрый вход в приложение на любом Androidустрйостве пользователя, если хотя бы на одном из них уже пройдена. Также сюда включается и восстановление аккаунта при переносе данных между старым и новым Android устройством.
Все приложения должны начать соотвествовать политике с апреля 2027. За нарушение сначала последует скрытие из поисковой выдачи, а затем удаление.
Больше личного мнения автора в @rozov_blog. Подписывайтесь!
#GooglePlay #AndroidDev
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Больше личного мнения автора в @rozov_blog. Подписывайтесь!
#GooglePlay #AndroidDev
Please open Telegram to view this post
VIEW IN TELEGRAM
Больше личного мнения автора в @rozov_blog. Подписывайтесь!
#GooglePlay #AndroidDev
Please open Telegram to view this post
VIEW IN TELEGRAM
Google Play начнет требовать оптимизацию кода через R8 и заранее предоставила инструменты анализа в рамках AGP 9.3.0. Запускаете
./gradlew :app:analyzeReleaseR8Config и получите отчет по 3 направлениям: shrinking, obfuscation, optimization.Для удобства Google сделала скилл r8-analyzer, который делает анализ отчета и выдает вам инсайты + предложения.
Рекомендуется обновиться дл AGP 9.3.0 или выше, но есть способ подключения для анализа на AGP 9.2
#AndroidDev #R8
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
// Пример форсирования структуры проекта через Aalekh
// build.gradle.kts (root project)
aalekh {
layers {
layer("domain") { modules(":core:domain", ":feature:*:domain") }
layer("data") {
modules(":core:data", ":feature:*:data")
canOnlyDependOn("domain")
}
layer("presentation") {
modules(":feature:*:ui", ":app")
canOnlyDependOn("domain", "data")
}
}
}
#Gradle