Android Good Reads
Сегодня стартует Google I/O 2025. Самая интересная для нас с вами часть тут
По чуть-чуть будем обозревать новости с Google I/O. Первое на что обращаем внимание - очередная навигация. Из плюсов - большая гибкость и больше контроля над навигацией в приложении. Как следствие - возможное переусложнение навигации, необходимость миграции и невероятные велосипеды в каждой компании.
Немного кода с Nav3:
Немного кода с Nav3:
// Define the routes in your app and any arguments.
data object Home
data class Product(val id: String)
// Create a back stack, specifying the route the app should start with.
val backStack = remember { mutableStateListOf<Any>(ProductList) }
// A NavDisplay displays your back stack. Whenever the back stack changes, the display updates.
NavDisplay(
backStack = backStack,
// Specify what should happen when the user goes back
onBack = { backStack.removeLastOrNull() },
// An entry provider converts a route into a NavEntry which contains the content for that route.
entryProvider = { route ->
when (route) {
is Home -> NavEntry(route) {
Column {
Text("Welcome to Nav3")
Button(onClick = {
// To navigate to a new route, just add that route to the back stack
backStack.add(Product("123"))
}) {
Text("Click to navigate")
}
}
}
is Product -> NavEntry(route) {
Text("Product ${route.id} ")
}
else -> NavEntry(Unit) { Text("Unknown route: $route") }
}
}
)
🔥7🤔4💯3😁1
Сегодня, кстати, начинается следующая важная конференция - KotlinConf. Записи будут доступны позже на сайте, а прямая трансляция начинается через 10 минут.
Неделя насыщенная на новости по андроид разработке.
Неделя насыщенная на новости по андроид разработке.
KotlinConf
KotlinConf 2026, May 20–22, Munich
KotlinConf is the official Kotlin conference by JetBrains. It is a place for the community to gather and discuss all things Kotlin.
🔥5❤2👍2
Android Good Reads
По чуть-чуть будем обозревать новости с Google I/O. Первое на что обращаем внимание - очередная навигация. Из плюсов - большая гибкость и больше контроля над навигацией в приложении. Как следствие - возможное переусложнение навигации, необходимость миграции…
Material 3 expressive
Существует наряду с material 3, его не депрекейтят. По ссылке можно посмотреть дизайн референсы и новые доступные UI элементы.
Проекты без дизайнеров будут выглядеть немного лучше и удобнее?
Существует наряду с material 3, его не депрекейтят. По ссылке можно посмотреть дизайн референсы и новые доступные UI элементы.
Проекты без дизайнеров будут выглядеть немного лучше и удобнее?
Material Design
M3 Expressive: Engaging UX Design
Discover Material Design's latest update: M3 Expressive for more engaging and user-friendly products.
👍5
Android Good Reads
Сегодня, кстати, начинается следующая важная конференция - KotlinConf. Записи будут доступны позже на сайте, а прямая трансляция начинается через 10 минут. Неделя насыщенная на новости по андроид разработке.
Конференция закончилась. Краткий обзор от jetbrAIns команды:
https://blog.jetbrains.com/kotlin/2025/05/kotlinconf-2025-language-features-ai-powered-development-and-kotlin-multiplatform/
Я был на самой конференции и лично мне понравился умеренный и не фанатичный подход к AI, стабилизация большинства экспериментальных функций и API, а так же рост комьюнити. Очень жду Kotlin/wasm в бете!
Meta теперь золотой спонсор Kotlin Foundation, что же будет с React Native? 😱
Следующий KotlinConf пройдет в Мюнхене!
https://blog.jetbrains.com/kotlin/2025/05/kotlinconf-2025-language-features-ai-powered-development-and-kotlin-multiplatform/
Я был на самой конференции и лично мне понравился умеренный и не фанатичный подход к AI, стабилизация большинства экспериментальных функций и API, а так же рост комьюнити. Очень жду Kotlin/wasm в бете!
Meta теперь золотой спонсор Kotlin Foundation, что же будет с React Native? 😱
Следующий KotlinConf пройдет в Мюнхене!
🔥22👍6
Android Good Reads
Конференция закончилась. Краткий обзор от jetbrAIns команды: https://blog.jetbrains.com/kotlin/2025/05/kotlinconf-2025-language-features-ai-powered-development-and-kotlin-multiplatform/ Я был на самой конференции и лично мне понравился умеренный и не фанатичный…
Kotlin Multiplatform по чуть чуть проникает в официальные документации по Android.
Теперь есть шаблон для кроссплатформенного модуля, а так же 2 новые кодлабы:
👉 KMP getting started
👉 Миграция Room на KMP
Краткий обзор KotlinConf от гугл команды:
https://android-developers.googleblog.com/2025/05/android-kotlin-multiplatform-google-io-kotlinconf-2025.html
Теперь есть шаблон для кроссплатформенного модуля, а так же 2 новые кодлабы:
👉 KMP getting started
👉 Миграция Room на KMP
Краткий обзор KotlinConf от гугл команды:
https://android-developers.googleblog.com/2025/05/android-kotlin-multiplatform-google-io-kotlinconf-2025.html
🔥11👍4
Android Good Reads
Material 3 expressive Существует наряду с material 3, его не депрекейтят. По ссылке можно посмотреть дизайн референсы и новые доступные UI элементы. Проекты без дизайнеров будут выглядеть немного лучше и удобнее?
This media is not supported in your browser
VIEW IN TELEGRAM
Улучшения виджетов вместе с обновлением Glance 1.2. Посмотреть доклад про live update в новых виджетах можно тут.
Про кастомизацию
Про кастомизацию
ProgressBar в Android 16 тут👍3❤2
Android Good Reads
По чуть-чуть будем обозревать новости с Google I/O. Первое на что обращаем внимание - очередная навигация. Из плюсов - большая гибкость и больше контроля над навигацией в приложении. Как следствие - возможное переусложнение навигации, необходимость миграции…
Более минорные обновления:
👉 Снижение энергопотребления камеры и расширение API для CameraX
👉 Увеличение возможностей при разработки приложений для Android Auto
👉 Android XR developer preview 2. Много возможностей в том числе и поддержка Compose. Но я все жду реально массовых девайсов
👉 Снижение энергопотребления камеры и расширение API для CameraX
👉 Увеличение возможностей при разработки приложений для Android Auto
👉 Android XR developer preview 2. Много возможностей в том числе и поддержка Compose. Но я все жду реально массовых девайсов
io.google
Google I/O 2025: Seamless video capture, editing and playback with CameraX and Media3
Don’t miss Google I/O, featuring product launches, innovations, and insights. Tune in for the live keynotes and sessions.
👍4
Android Good Reads
Material 3 expressive Существует наряду с material 3, его не депрекейтят. По ссылке можно посмотреть дизайн референсы и новые доступные UI элементы. Проекты без дизайнеров будут выглядеть немного лучше и удобнее?
This media is not supported in your browser
VIEW IN TELEGRAM
Wear OS 6 и Material Expressive
Не самый частый кейс, но, вместе с Material Expressive, намного проще сделать Wear версию вашего приложения
Не самый частый кейс, но, вместе с Material Expressive, намного проще сделать Wear версию вашего приложения
👍5❤2
Compose Preview c MVI и State Hositing
Идея крайне проста:
👉 В
👉 Вторым параметром идет
👉 Получаем чистый UI, без бизнес логики и репозиториев
👉 В
👉 Еще 1 большой плюс - упрощение внедрения скриншот тестирования
В комментариях подсказали, что у FlowMVI можно получить тоже самое из коробки
Идея крайне проста:
👉 В
Composable экран передаем state в качестве параметра👉 Вторым параметром идет
EventManager👉 Получаем чистый UI, без бизнес логики и репозиториев
👉 В
@Preview передается замоканые данные, что так же удобно использовать при тестировании компонентов👉 Еще 1 большой плюс - упрощение внедрения скриншот тестирования
@Composable
fun ProfileScreen(
state: ProfileScreenState,
onEvent: (ProfileEvent) -> Unit
) {
// Screen data
}
@Preview
@Composable
private fun ProfileScreenPreview() = ProfileScreenContent(
state = ProfileScreenState(),
onEvent = {}
)
В комментариях подсказали, что у FlowMVI можно получить тоже самое из коробки
❤8👍3🤯2
Вчера состоялся первый день конференции IntelliJ IDEA Conf 2025. Да-да и такая есть! Хоть и с небольшим запозданием, но мы получаем обновления из IntelliJ в Android Studio, так что относится и к нам.
Запись первого дня можно глянуть тут
Сегодня трансляция будет на официальном канале
Запись первого дня можно глянуть тут
Сегодня трансляция будет на официальном канале
YouTube
IntelliJ IDEA Conf 2025. Day 1
On June 3–4, 2025, JetBrains is hosting a free virtual event – IntelliJ IDEA Conf.
IntelliJ IDEA Conf is a celebration of the developer community, bringing together professionals who strive for excellence in software development.
#IntelliJIDEAConf #Java…
IntelliJ IDEA Conf is a celebration of the developer community, bringing together professionals who strive for excellence in software development.
#IntelliJIDEAConf #Java…
👍5😁3
Меняем Android Studio на IntelliJ IDEA ради JetBrains Junie
Что за проблемы возникли:
👉 Android Plugin немного отстает от последних версий Android Studio
👉 Несколько полезных плагинов недоступны для установки в IDEA (Firebase Services, Firebase Testing, Test Recorder, Android APK Support, Android NDK Support, Android SDK Upgrade Assistant, Google Cloud Tools for Android Studio, App Links Assistant)
👉 Некоторые плагины нужно установить вручную(Android,Android Design Tools, Jetpack Compose, Smali Viewer), некоторый функционал дублируется
Android Studio хорошо заточена под Android разработку, но когда хочется потрогать последние фичи из IDEA - свитчнуться возможно!
Что за проблемы возникли:
👉 Android Plugin немного отстает от последних версий Android Studio
👉 Несколько полезных плагинов недоступны для установки в IDEA (Firebase Services, Firebase Testing, Test Recorder, Android APK Support, Android NDK Support, Android SDK Upgrade Assistant, Google Cloud Tools for Android Studio, App Links Assistant)
👉 Некоторые плагины нужно установить вручную(Android,Android Design Tools, Jetpack Compose, Smali Viewer), некоторый функционал дублируется
Android Studio хорошо заточена под Android разработку, но когда хочется потрогать последние фичи из IDEA - свитчнуться возможно!
👍5😁4🔥3💅2❤1🤷♂1
Android Good Reads
Kotlin Multiplatform по чуть чуть проникает в официальные документации по Android. Теперь есть шаблон для кроссплатформенного модуля, а так же 2 новые кодлабы: 👉 KMP getting started 👉 Миграция Room на KMP Краткий обзор KotlinConf от гугл команды: https://android…
Rich Errors в Kotlin 2.4
Анонсировали на KotlinConf. На мой взгляд, классная обертка на замену старому-доброму
Какие возможные проблемы видите в этом?
Анонсировали на KotlinConf. На мой взгляд, классная обертка на замену старому-доброму
try-catch. Какие возможные проблемы видите в этом?
🔥23🤔6👍4❤3
Android Good Reads
Rich Errors в Kotlin 2.4 Анонсировали на KotlinConf. На мой взгляд, классная обертка на замену старому-доброму try-catch. Какие возможные проблемы видите в этом?
Еще 1 анонс -
Как несколько лет назад, именованные параметры сделали вызов функций удобнее и безопаснее. Теперь так и с разворачиванием классов.
👍 - Полезно
👎 - Не вижу смысла использовать
name-base разделение переменных. Position-base:val talk = Talk(title = "Kotlin Conf 2025", speakerName = "Darren Le")
val (speakerName, title) = talk
print("title = $title, speakerName= $speakerName")
// title = Darren Le, speakerName = Kotlin Conf 2025
Name-base:(val speakerName, val title) = talk
print("title = $title, speakerName= $speakerName")
// title = Kotlin Conf 2025, speakerName = Darren Le
Как несколько лет назад, именованные параметры сделали вызов функций удобнее и безопаснее. Теперь так и с разворачиванием классов.
👍 - Полезно
👎 - Не вижу смысла использовать
👎95👍60🤔2
Android Good Reads
Еще 1 анонс - name-base разделение переменных. Position-base: val talk = Talk(title = "Kotlin Conf 2025", speakerName = "Darren Le") val (speakerName, title) = talk print("title = $title, speakerName= $speakerName") // title = Darren Le, speakerName =…
Остальные анонсы с конференции от Marcin Moskała, кроме уже разобранного:
👉 Улучшенная работа с плагинами (скрин выше)
👉 Упрощение дебага корутин
👉 Агентов и MCP теперь можно писать и на Kotlin!
👉 Улучшенная работа с плагинами (скрин выше)
👉 Упрощение дебага корутин
👉 Агентов и MCP теперь можно писать и на Kotlin!
👍5❤2🔥2
Android Good Reads
Что изменится в Android 16? Отмена ограничений по ориентации экрана и изменению размера окна Кратко - много боли для тех, кто не делает адаптивный дизайн приложения. C Android 16 будут игнорироваться значения: 👉 screenOrientation: portrait, reversePortrait…
Релиз Android 16
Многое уже разбирали с вами на канале:
👉 Новые API камеры
👉 Material 3 Expressive уже будет проявляться в системных приложениях
👉 Адаптивный дизайн, как стандарт
👉 Обновления для кнопки назад
👉 Улучшения для ProgressStyle виджетов
👉 Новые инструменты для профайлинга
👉 Усложнения в области security
Многое уже разбирали с вами на канале:
👉 Новые API камеры
👉 Material 3 Expressive уже будет проявляться в системных приложениях
👉 Адаптивный дизайн, как стандарт
👉 Обновления для кнопки назад
👉 Улучшения для ProgressStyle виджетов
👉 Новые инструменты для профайлинга
👉 Усложнения в области security
👍7❤3
Порадуемся за код, который мы не написали
Вся статья сводится к простой мысли. Не переусложняйте и декомпозируйте задачи, благо современные технологии (
Вся статья сводится к простой мысли. Не переусложняйте и декомпозируйте задачи, благо современные технологии (
Composable, например) это позволяют.Programmers often like working on complex systems, but I believe that it’s important to practice breaking down that complexity into simpler systems.
Celebrate the code you didn't write
Celebrate the code you didn't write :: Ryan Harter
Over the past few years I've been driving an architecture and tech spec review process at work. This has been helpful in breaking down certain silos, distributing knowledge across the organization, and building skills and experience in more junior engineers.…
👍11
keepScreenOn в Jetpack Compose
Как это было:
или
или тег в xml:
Начиная с compose
Как это было:
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
или
window.decorView.keepScreenOn = true
или тег в xml:
android:keepScreenOn="true"
Начиная с compose
1.9.0-alpha01 это можно сделать модификаторомBox(
modifier = Modifier.keepScreenOn()
){
Text("Keep the screen on.. 🔆")
}
🔥27👍8❤4🤯4
Autofill в Compose 1.8.0
Несмотря на то что поддержка автозаполнения вышла еще 2021 году, API докрутили только сейчас. Поддержка самой кнопки
Несмотря на то что поддержка автозаполнения вышла еще 2021 году, API докрутили только сейчас. Поддержка самой кнопки
Autofill теперь идет из коробки, а новое API позволяет спарсить значение даже внутрь Switch:var firstLetterE by remember { mutableStateOf(false) }
Switch(
modifier = Modifier.semantics {
contentType = ContentType.EmailAddress
// We need to declare a data type explicitly since this isn't a TextField
contentDataType = ContentDataType.Text
onAutofillText { text ->
firstLetterE = text.startsWith("E", ignoreCase = true)
true
}
},
checked = firstLetterE,
onCheckedChange = { firstLetterE = it },
)👍13❤2🗿2
Как-то мы упустили этот весь тренд с AI и вайбкодингом. Но вот и до Android Studio добралась возможность повайбкодить. Agent-mode в Gemini.
Не что-то прорывное, но раньше нужно было переключаться меж IDE или использовать Junie, а теперь решение из коробки!
Не что-то прорывное, но раньше нужно было переключаться меж IDE или использовать Junie, а теперь решение из коробки!
Android Developers
Agent Mode | Android Studio | Android Developers
Learn about AI-assisted coding features powered by Gemini.
👍8❤3🔥3
Android Good Reads
Как-то мы упустили этот весь тренд с AI и вайбкодингом. Но вот и до Android Studio добралась возможность повайбкодить. Agent-mode в Gemini. Не что-то прорывное, но раньше нужно было переключаться меж IDE или использовать Junie, а теперь решение из коробки!
Я не хочу превращать Android канал в новостник на тему очередного прорыва в AI, поэтому соберу в кучу несколько полезных статей и холиварных топиков, которые отражают мою позицию.
👉 Как AI влияет на способность думать "гораздо проще написать промпт, закинуть его в чат, и сразу же получить разжеванный ответ"
Да, вместо долгого исследования - ты получаешь ответ с ссылками откуда была взята информация. Так быстрее и непривычнее. Время на техническое исследования сокращается кратно и появляется больше времени на продуктовый ресерч
👉 Вайбкодинг vs Метакодинг. Статья на редите. Выглядит, как естественное развитие одного из другого. Сначала ты просто копируешь со стековерфлоу, затем ты уже думаешь что копировать. Все через это проходили, правда? Так и тут, сначала бездумно забираем ответ AI, потом учимся задавать правильные вопросы и выбираем необходимое
👉 Смотрим как Copilot Agent сводит разработчиков с ума. Да, часть решаемых им задач приходится вот так вот Vibe-дебажить, но часть он решает и успешно закрывает в фоне. Очевидно, что разработка постепенно меняет формат того как она будет выглядеть. Это не очередные фантазии, а реальные контрибьюты в
По работе я пользуюсь GitHub Copilot. Он, даже с последними моделями, недотягивает до Cursor, но берет большим количеством интеграций с GitHub. Gemini, интегрированный в Android Studio, использует модель 2.5 с откатом к 2.0, что делает генерируемый код совершенно непригодным к ревью. До Android разработки вайбкодинг дойдет не скоро, как мне кажется. База для обучения была сильно меньше, чем для фронтенд кода, что сказывается на качестве. Большинство AI IDE построены на базе vsCode, что вынуждает переключаться меж IDE, а не сидеть в удобном и привычном месте.
А какой опыт у вас?
👍 - Больше статей по AI связанных с Android разработкой
😐 - Только если реально что-то интересное
👎 - Не надо статей по AI
👉 Как AI влияет на способность думать "гораздо проще написать промпт, закинуть его в чат, и сразу же получить разжеванный ответ"
Да, вместо долгого исследования - ты получаешь ответ с ссылками откуда была взята информация. Так быстрее и непривычнее. Время на техническое исследования сокращается кратно и появляется больше времени на продуктовый ресерч
👉 Вайбкодинг vs Метакодинг. Статья на редите. Выглядит, как естественное развитие одного из другого. Сначала ты просто копируешь со стековерфлоу, затем ты уже думаешь что копировать. Все через это проходили, правда? Так и тут, сначала бездумно забираем ответ AI, потом учимся задавать правильные вопросы и выбираем необходимое
👉 Смотрим как Copilot Agent сводит разработчиков с ума. Да, часть решаемых им задач приходится вот так вот Vibe-дебажить, но часть он решает и успешно закрывает в фоне. Очевидно, что разработка постепенно меняет формат того как она будет выглядеть. Это не очередные фантазии, а реальные контрибьюты в
dotnet репу: Неудачный и смешной - Удачный. Так что, как минимум, пробуем на своих проектах. Важный скилл - грамотно описать задачу.По работе я пользуюсь GitHub Copilot. Он, даже с последними моделями, недотягивает до Cursor, но берет большим количеством интеграций с GitHub. Gemini, интегрированный в Android Studio, использует модель 2.5 с откатом к 2.0, что делает генерируемый код совершенно непригодным к ревью. До Android разработки вайбкодинг дойдет не скоро, как мне кажется. База для обучения была сильно меньше, чем для фронтенд кода, что сказывается на качестве. Большинство AI IDE построены на базе vsCode, что вынуждает переключаться меж IDE, а не сидеть в удобном и привычном месте.
А какой опыт у вас?
👍 - Больше статей по AI связанных с Android разработкой
😐 - Только если реально что-то интересное
👎 - Не надо статей по AI
😐80👍25👎23💅3❤1