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

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

Размещение рекламы: @tanyasanovna
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Используем movableContentOf для shared transition анимации в Jetpack Compose

Все достаточно просто. Как и в любой анимации мы определяем ее scope с помощью LookaheadScope. Накидываем AnimatePlacementNodeElement и определяем список Composable элементов для перемещения через movableContentOf.

Примеры кода внутри статьи!
Обсуждем кейсы на митапе Яндекса по мобильной разработке

Я.Субботник — большой митап для мобильных разработчиков. В этот раз кроме докладов участников ждёт практический разрбор кейсов на PeerLab.

PeerLab — камерная встреча с экспертами Яндекса. Для неё мы отобрали актуальные темы из разработки и карьеры. Предложить кейс для обсуждения может каждый участник — приносите их в форму регистрации и приходите на обсуждение!

В Москве точно обсудим:

🔸Kotlin Multiplatform
🔸Карьерное развитие
🔸Платформенные команды
🔸AI в разработке

А в Питере:

T-Shape разработчик
🔸Тестирование
🔸AI в разработке

➡️ Регистрируйтесь и ищите список экспертов-участников дискуссии на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
Proto vs JSON. Когда и что использовать?

JSON:
👉 Делаете публичное API
👉 Для быстрых прототипов
👉 Когда хочется видеть человеко-читаемую конфигурацию

Proto:
👉 IoT и Realtime системы
👉 Внутренние приложения, зависящие от скорости интернета
👉 Межсерверное взаимодействие
Сегодня стартует Google I/O 2025. Самая интересная для нас с вами часть тут
Android Good Reads
Сегодня стартует Google I/O 2025. Самая интересная для нас с вами часть тут
По чуть-чуть будем обозревать новости с Google I/O. Первое на что обращаем внимание - очередная навигация. Из плюсов - большая гибкость и больше контроля над навигацией в приложении. Как следствие - возможное переусложнение навигации, необходимость миграции и невероятные велосипеды в каждой компании.

Немного кода с 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") }
}
}
)
Сегодня, кстати, начинается следующая важная конференция - KotlinConf. Записи будут доступны позже на сайте, а прямая трансляция начинается через 10 минут.

Неделя насыщенная на новости по андроид разработке.
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 пройдет в Мюнхене!
Compose Preview c MVI и State Hositing

Идея крайне проста:
👉 В 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 можно получить тоже самое из коробки
Вчера состоялся первый день конференции IntelliJ IDEA Conf 2025. Да-да и такая есть! Хоть и с небольшим запозданием, но мы получаем обновления из IntelliJ в Android Studio, так что относится и к нам.

Запись первого дня можно глянуть тут
Сегодня трансляция будет на официальном канале
Меняем 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 - свитчнуться возможно!