Android Good Reads
4.1K subscribers
398 photos
16 videos
1 file
2.17K links
Самые интересные статьи, видео и новости, связанные с Android разработкой. Не больше трёх материалов в день.

Размещение рекламы: @tanyasanovna

Автор канала: @Lamprof
Download Telegram
Вышел The State of Developer Ecosystem 2025. Из интересного:

👉 85% разработчиков регулярно используют ИИ-инструменты для написания кода и разработки, а 62% полагаются как минимум на одного ИИ-ассистента, агента или редактор кода. Тем не менее, 15% разработчиков всё ещё не внедрили ИИ-инструменты в свою повседневную работу.

👉 Большинство разработчиков рады позволить ИИ выполнять повторяющиеся задачи, такие как генерация шаблонного кода (boilerplate), написание документации или обобщение изменений, но предпочитают оставлять за собой творческие и сложные задачи, например, отладку или проектирование логики приложений.

👉 Сами разработчики выделяют как технические (51%), так и нетехнические (62%) факторы в качестве критически важных для своей производительности. Внутреннее взаимодействие, коммуникация и ясность теперь так же важны, как и более быстрые конвейеры CI (непрерывной интеграции) или лучшие IDE (интегрированные среды разработки).

👉 Kotlin чутка подрос в популярности
2👍2🔥2🥱1
Android Good Reads
Следующая Canary версия - выдра!
Вышла Android Studio Otter 2 Feature Drop Canary 1
Все еще не сравнится с названием Xiaomi, который я покупал лет эдак 5 назад, но уже забавно.

Из наиболее ожидаемого - стабилизация Android Gradle Plugin 9.0.0 с кучей улучшений по совместимости с KMP, скоростью сборки и прочими бенефитами мажорного релиза плагина
🔥7😁5
Android Good Reads
Glitch effect в Compose Делаем красивый глич эффект нативными компонентами. Воспринимайте как туториал к тому как делать сложно-красивую анимацию
Автор продает финальный глитч за 3 бакса. Хороший способ монетизации. Я немного пошаманил на выходных и сделал схожий глитч через модификатор:

https://gist.github.com/Merlinkoss/7a4e3a78cd8ec2e0693835547f8e883f

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

Да, там далеко не лучший код и можно оптимальнее

UPD: В комментах подсказали, что автор выложил свою версию тут:
https://www.sinasamaki.com/glitch-effect/
4🔥3👏2
И еще раз, внимательнее с непонятными Gradle проектами

👉 Используйте gradle wrapper script или Jar'ники из проектов которым вы можете полностью доверять или сгенерированных вашей же Android Studio. Не используйте скачанный непонятно откуда gradle wrapper. Чистите с помощью gradle wrapper.
👉 Всегда проверяйте distributionUrl в gradle-wrapper.properties перед импортом проекта. Круто сверять distributionSha256Sum, но это редкость

Причины:
👉 Атака через gradle wrapper (Supply Chain Attack) пару лет назад
👉 Недавний взлом через тестовое задание (Не совсем про Gradle, но концепт понятен)
👍5💯3
Почему ушел из Amazon

Интересный блог о проблемах работы в бигтехе. Если когда-либо хотели прорваться туда - стоит почитать

👉 Имплементация 2 недели, раскатка полтора года
👉 Хочешь грейд? Работай на нем пару лет без повышения, а потом может быть получишь
👉 Бесконечные согласования
👍9😢5🔥31
Я тут на втором канале(@androidraft) копаюсь со своим проектиком с нуля и рассказываю о проблемах. Недавно наконец-таки наткнулся на эти новые правила Google Play, которые долгие годы обходили меня стороной, но о которых я писал тут.

https://t.me/androidraft/52
2👍2🔥2
Swift SDK для разработки под Android

👉 Пример проекта
👉 Статус разработки проекта
👉 Гайд как начать

Я не очень верю в этот проект, но рад что появляется конкуренция. Возможно, это подстегнет JB команду в правильном направлении
👍42
Надеюсь в скором будующем..
🤣36😡3😁2
История одной утечки памяти

Само по себе расследование длинное и стоит того чтобы почитать, поэтому вот вам короткое напоминание:

👉 В LeakCanary есть компонент, работающий во время выполнения, который "привязывается" к объектам с известным жизненным циклом. Когда эти объекты получают событие жизненного цикла DESTROY, LeakCanary использует WeakReference и ReferenceQueue, чтобы убедиться, что они собираются сборщиком мусора, как и ожидалось.

👉 Если же какой-либо из этих объектов удерживается в памяти, то есть "утекает", LeakCanary инициирует создание heap dump, а затем анализирует этот дамп, чтобы найти кратчайший путь сильных ссылок от GC Roots до "утекающего" объекта. Этот путь называется leak trace и он подсвечивает ссылки, которые мешают сборщику мусора удалить объект.
5👍4🔥31
Обновилась страничка мультиплатформы в официальной документации по Андроиду

Для тех кто использует KMP ничего нового, но если вам не знакомо что это - будет полезно глянуть
👍6
Android Good Reads
Я тут ковыряюсь со своим проектиком простеньким. Осваиваю чудеса делегирования своей работы AI. И первый раз наткнулся на это API в Android. Как-будто оно +- бесполезное, но и в то же время всегда до этого решал через бекенд или Places такую проблему. h…
Микродозы AI для мобильных разработчиков

Напомню, что Android Studio очень сильно выросла по фичам для AI. В статье приводится промтп и демонстрация его работы. Сценарии работы из статьи:

👉 Дебаг UI через ожидаемый-реальный результат
👉 Первичное кодревью перед отправкой команде. Наверно это самая часто используемая фича у меня в команде, у нас работает Copilot как авторевьювер до ревью человеком. Сильно снижает количество вопросов на ревью и подмечает исправления
👉 Замена Remove unused Resources. Фича сама по себе не всегда работает как надо, особенно в многомодульных проектах где отключены часть индексов и модулей в угоду скорости сборки. Gemini справляется с этим сильно лучше
👉 Улучшенный поиск по проекту. Но тут скорее помошник для тех кто не умеет писать regex

C недавних пор вы можете гонять локальные модели и запускать все те же самые фичи не на Gemini, а на своей модельке

Я честно признаюсь, что меня зацепило название, а не содержание
👍4😁4
🌟 Вечеринка для разработчиков: пет-проекты, хобби и вайб-кодинг

Ребята из Яндекс Вертикалей собирают всех 14 ноября на мультистек-вечеринку о хобби и технологиях. Вдохновимся историями коллег об удачных внерабочих экспериментах, чтобы взглянуть по-новому на свои увлечения.

В программе события:

🔴Доклады про футбольного ИИ-аналитика и телеграм-бота для канала с мемами

🔴Воркшоп — сделаем свой MCP-сервер для автоматизации задач

🔴Открытый диалог о хобби с тимлидами, разработчиками, ML-специалистами и аналитиками

Разберёмся вместе с командой Вертикалей, как выбрать стек и наконец начать проект, который долго откладывали. А завершим вечер афтепати с DJ-сетом и разными активностями.

Подробности и регистрация
Please open Telegram to view this post
VIEW IN TELEGRAM
3👎3🔥3👍2
Android Good Reads
Glitch effect в Compose Делаем красивый глич эффект нативными компонентами. Воспринимайте как туториал к тому как делать сложно-красивую анимацию
Продолжаем историю с Glitch эффектом.
Как сделать этот же эффект не через Composable, а с помощью Android AGSL shaders. Внутри вас ждет:

👉 Что такое шейдеры
👉 Реализация
👉 Детальный сравнительный анализ производительности обоих подходов

В статье очень много демок, стоит прочитать!
Автор разбора - https://bento.me/mightyseal
🔥52
Lenter — плагин для IntelliJ IDEA

Автоматизирует рутину CMP разработчика. Локально!
Главная фишка — Preview всего и вся:

👉 Цвета Compose — живые иконки прямо в коде Color(0xFF42A5F5)
👉 Drawable в дереве — миниатюры вместо стандартных иконок файлов
👉 Inline preview — картинки рядом с painterResource() / vectorResource()
👉 Vector XML — полноценный редактор с zoom и вкладкой Preview
👉 Строковые ресурсы — содержимое stringResource() на нужном языке
👉 KDoc генератор — описания классов/функций через Ollama (локально!)
👉 Генератор баг-репортов в Wiki Markup
👉 Отправка комментариев прямо из IDE
👉 Автоопределение задачи из Git-ветки

Ссылка на плагин: https://plugins.jetbrains.com/plugin/28860-lenter
Сорцы: https://github.com/thebordev/lenter
🔥8👍2
Опрос про то, как вы разрабатываете UI

Мне для небольшого пет-проекта очень важно собрать с вас немного информации про то, как вы подходите к разработке UI – что вас в таких задачах больше всего раздражает, что нравится, и как вы при этом используете AI инструменты (если используете их вообще).

А среди всех, кто заполнит опрос, разыграю сертификат в Ozon. Опрос открыт до сегодняшнего вечера, результаты горят, так что можете потратить пять минут прямо сейчас, и начнете день с прекрасного полезного дела!
👍62
Ошибки — неотъемлемая часть любого роста. Новый сезон Podlodka Soft Skills Crew (24–28 ноября) посвящён умению ошибаться — как перестать бояться промахов, извлекать из них пользу и превращать факапы в источник развития.

📌 В программе:
• Чистый код мышления — почему мозг боится ошибок и как “починить” когнитивные баги (Ксения Ильянович)

• Ошибайся — позорься до конца — чем ошибки полезнее успехов и как перестать стыдиться факапов (Вера Стёксова)

• Fail night: Я ошибся, и мир не рухнул — честные истории промахов от экспертов и выводы, которые сделали их сильнее

• Ошибки, которые можно, и ошибки, которые нельзя — как разные культуры и руководители реагируют на промахи (Станислав Тагиев)

💡 Ошибки перестают пугать, когда их разбирают честно.

🗓24–28 ноября
🔗Подробности и билеты: https://podlodka.io/softskillscrew
3👍2💅2
Апгрейд диплинков с Dynamic App Links

Не путать с Firebase Dynamic Links, они уже пару лет как не поддерживаются. Тут все круче. С Android 15 у нас появились App links

Почему стоит обратить внимание?
👉 Гибче чем диплинки
👉 Динамически линки можно менять без раскатки приложения в прод
👉 A/B тесты из коробки через query-param ?in_app=true

Пример assetlinks.json
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example.app",
"sha256_cert_fingerprints": [
"14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"
]
},
"relation_extensions": {
"delegate_permission/common.handle_all_urls": {
"dynamic_app_link_components": [
{ "/": "/products/*" },
{ "/": "/shoes", "?" : { "in_app": "true" } },
{ "/": "*", "exclude": true }
]
}
}
}
]
👍62🔥2