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

Автор канала: @Lamprof

Размещение рекламы: @tanyasanovna
Download Telegram
Не рекламы ради, а рекомендация каналов моих бывших коллег.

@fewideas раньше мы вместе в Ökko работали и Степа был разработчиком, который перешел из разработки в менеджмент. Сейчас он продакт в Авиасейлс

@mazurov_channel мы вместе работали в аутсорсе над мобильными приложениями. Сейчас Марк в Стокгольме и рассказывает как живется разработчику в Швеции

Это уютные авторские каналы, которые я и сам читаю. Рекомендую!
47👍3🔥3❤‍🔥1
Как запустить свой мини-продукт

Главная ошибка, которую допускают почти все разработчики, начинающие делать свой продукт – застревать в бесконечных доработках и доведении его до идеала вместо того, чтобы побыстрее выходить на рынок.

Ребята из сообщества "Короче, Капитан" учат другому подходу – зафиксировать ровно 1 месяц на разработку и запуск, вложить на продвижение небольшую сумму денег, и потом внимательно изучить результат, и понять, что вышло, а что нет. И так – в течение 12 месяцев, за которые вы запустите 12 собственных проектов!

Если вы давно подумывали разнообразить свою рутину созданием своих продуктов, и хотите сделать их действительно кому-то нужными, подписывайтесь на сообщество @its_capitan.

Реклама. ИП Зуев, ИНН 360408359441, erid:2VtzqvBd835
🤣7👍42🔥2
Серия статей про Model View State Machine. "Новый" подход к разработке. Полезно посмотреть как бывает.

👉 Intro
👉 Создавая state машину
👉 Делаем side эффекты (Скоро)
👉 Создаем вложенный state (Скоро)
👉 Используем и переиспользуем state машину (Скоро)

Я предпочитаю брать готовые решения, потому что, помимо написания своего большого архитектурного паттерна, его нужно развивать и продавать внутри компании. Иначе трудозатраты на создание и обслуживание не соответсвуют результату
👍3
Сделал апку offline-first. Какие архитектурные решения применил

👉 API-First → Local-First. Теперь БД это единый источник правды
👉 Синхронизая базы с бекендом. До:

UI -> Вызов API -> Показать результаты

После:

UI -> Сохранить в БД -> Очередь на синхронизацию -> Пуш на сервер (при появление сети)

👉 Разрешение конфликтов. Комбинация из алгоритмов Last Write Wins, Timestamps and Merge, CRDTs. Основная сложность об которую ломаются все offline first приложения
👉 Не забудьте поменять UI, чтобы не запутать пользователя

Автор решает сложную задачку, большинству приложений она не нужна, но архитектурно подход интересный. Версия без пейвола
👍6🗿6🔥3
Android Good Reads
Продолжаем искать полезности в эре AI для Android: 👉 Сгенерированная вики для любого репозитория. Пример для compose-mp репы и для retrofit. 👉 Junie, интегрированная в IDE, получила необходимый набор инструментов для современного AI-coding плагина, а так…
Kotzilla update

Если вы используете Koin, то вам доступен и плагин и веб портал, где можно глянуть всякую-разную аналитику. Но одна фича меня наиболее заинтересовала сегодня: Они упаковывают контекст ошибки и проекта в единый промт, содержащий в себе зависимости, информацию о сессии и важных компонентах...

Доступно как из веб, так и из плагина
🤷86🔥3
Вчера завозил в проект dependabot. Для тех кто не в курсе:
Автоматическое обновление зависимостей с прогоном ваших CI actions в гихабе. Позволяет снять головную боль и забыть про регулярное обновление зависимостей, слежкой за минорными версиями. Поддерживает gradle version catalog

Пару лет назад даже писал статью в linkedin об этом
5🔥5👍4
Android Good Reads
Kotzilla update Если вы используете Koin, то вам доступен и плагин и веб портал, где можно глянуть всякую-разную аналитику. Но одна фича меня наиболее заинтересовала сегодня: Они упаковывают контекст ошибки и проекта в единый промт, содержащий в себе зависимости…
This media is not supported in your browser
VIEW IN TELEGRAM
Немножко годноты с последней Preview для Android Studio

Отдельный функционал для:
- Генерации экрана со скриншота
- Возможности доработки изменений на скриншоте
- Фиксов ошибок
- Превью и фиксов превью ошибок

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

По клику на гифку открывается нормальная ее версия
6👍3🤣2
Visiblity API в Compose 1.9

Представили новые модификторы для отслеживания видимости элементов: onVisibilityChanged, onFirstVisible

Пример использования:
// onVisibilityChanged
LazyColumn {
items(feedData) { video ->
VideoRow(
video,
Modifier.onVisibilityChanged(minDurationMs = 500, minFractionVisible = 1f) {
visible ->
if (visible) video.play() else video.pause()
},
)
}
}

// onFirstVisible
LazyColumn {
items(100) {
Box(
Modifier
// Log impressions when item has been visible for 500ms
.onFirstVisible(minDurationMs = 500) { /* log impression */ }
.clip(RoundedCornerShape(16.dp))
.drawBehind { drawRect(backgroundColor) }
.fillMaxWidth()
.height(100.dp)
)
}
}


До нового апи мы парсили стейт для получения того же функционала:
LaunchedEffect(listState) {
snapshotFlow { listState.layoutInfo.visibleItemsInfo.map { it.key }.toSet() }
.collect { visibleIds ->
// Сравнение с предыдущим состоянием и получение колбека
}
}


Оффициальный анонс: https://android-developers.googleblog.com/2025/08/whats-new-in-jetpack-compose-august-25-release.html

В версии 1.9.2 поправили баг с пропавшими ивентами смены состояния
6👍6🔥5
Android Good Reads
Visiblity API в Compose 1.9 Представили новые модификторы для отслеживания видимости элементов: onVisibilityChanged, onFirstVisible Пример использования: // onVisibilityChanged LazyColumn { items(feedData) { video -> VideoRow( video, …
Еще представили новую работу с тенями. dropShadow, innerShadow

Если вы знаете как сделать все примеры с картинок, то вам не нужно читать эту статью. Внутри бонус - анимированная тень
🔥6🤣32👍2
Ваш лучший мобильный разработчик - медленный

Формат, конечно, больше подходит каналу про тимлидов, но давайте взглянем с их стороны на мобильную разработку:

👉 Рассматривают 2 типа разработчиков. Первый быстро решает задачи, продакты им довольный, не задает лишних вопросов. Растит продукт с точки зрения бизнеса. Второй работает медлено, постоянно все уточняет, рисует диаграммы и пишет "никому не нужные" тесты.

👉 Учитывают экономику скрытых дефектов, и покрытие тестами для предотвращения потерь. Вложение в архитектуру, как снижение стоимости изменений. Менторинг как вложение в команду. Коммуникация, как предотвращение переписывания кода.

👉 Предлагают измерять не количество закрытых тикетов, а количество багов в продакшене, длину цикла разрабо, время внесение изменений и crashrate

👉 Предлагают мерять продуктивность разработки через SPACE и DORA

К какой стороне вы себя относите?
4
This media is not supported in your browser
VIEW IN TELEGRAM
Glitch effect в Compose

Делаем красивый глич эффект нативными компонентами. Воспринимайте как туториал к тому как делать сложно-красивую анимацию
🔥2111👍3🤯1
Я тут ковыряюсь со своим проектиком простеньким. Осваиваю чудеса делегирования своей работы AI.

И первый раз наткнулся на это API в Android. Как-будто оно +- бесполезное, но и в то же время всегда до этого решал через бекенд или Places такую проблему.

https://t.me/androidraft
🤔2
Задумался, как мне из координат указанных пользователем вытащить ближайший город. Думал, может Places API или что еще - а нет, все проще. В Android есть Geocoder API, которое делает ровно сказанное выше и достаточно неплохо.
👍8🔥3