👍16👎13🔥1👏1
#architecture
Аналитика в декларативном стиле с поддержкой многомодульности
Распил большого интерфейса аналитики для поддержки многомодульности и с целью избавления от огромных классов, а также добавления строгих типов для параметров. Всё это в декларативном стиле аля Compose
Аналитика в декларативном стиле с поддержкой многомодульности
Распил большого интерфейса аналитики для поддержки многомодульности и с целью избавления от огромных классов, а также добавления строгих типов для параметров. Всё это в декларативном стиле аля Compose
👎22👍11
This media is not supported in your browser
VIEW IN TELEGRAM
#compose
Auto sync Tabs and a List with Jetpack Compose (7 мин)
Как скролить список в Compose по нажатию табов и синхронизировать их состояние при скролле
Auto sync Tabs and a List with Jetpack Compose (7 мин)
Как скролить список в Compose по нажатию табов и синхронизировать их состояние при скролле
👍50👎13
#compose
Which lint rules does Jetpack Compose ship with?
Автор статьи разбирается какие правила для Android Lint поставляются в библиотеках Compose и как их настроить
Which lint rules does Jetpack Compose ship with?
Автор статьи разбирается какие правила для Android Lint поставляются в библиотеках Compose и как их настроить
👎15👍9❤1
8 anti-patterns in Android codebase and why I hate them (5 мин)
У вас есть что вы не любите в Android разработке, но приходится делать? Автор решил немного покричать текстом:
🤬 Не использовать Kotlin
🤬 Не использовать DI (про Dagger речь не идет)
🤬 Синглтоны
🤬 Огромное количество feature тоглов и A/B тестов
🤬 Устаревшие зависимости
🤬 Применения наследование там где не надо
🤬 Интерфейсы на каждый класс
🤬 EventBus
Делитесь тем что вас раздражает в комментариях
У вас есть что вы не любите в Android разработке, но приходится делать? Автор решил немного покричать текстом:
🤬 Не использовать Kotlin
🤬 Не использовать DI (про Dagger речь не идет)
🤬 Синглтоны
🤬 Огромное количество feature тоглов и A/B тестов
🤬 Устаревшие зависимости
🤬 Применения наследование там где не надо
🤬 Интерфейсы на каждый класс
🤬 EventBus
Делитесь тем что вас раздражает в комментариях
👎60👍17🥰2👌2
Why Android Worked. The Missing Pieces, Part I
Чет Хаас делится своим мнением почему у Android вышло стать успешной ОС и как важен фактор нужного времени в появлении продукта
Чет Хаас делится своим мнением почему у Android вышло стать успешной ОС и как важен фактор нужного времени в появлении продукта
👌24👎16🔥10💯2❤1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
#compose #architecture
Compose sample app: UI state with Flow, offline first
Еще один пример приложения на Compose. Его основной особенностью является offline first - возможность работать без доступа в интернет;
Compose sample app: UI state with Flow, offline first
Еще один пример приложения на Compose. Его основной особенностью является offline first - возможность работать без доступа в интернет;
👍29👎14❤6
This media is not supported in your browser
VIEW IN TELEGRAM
#architecture
Parallel processing with state management in Lists (4 мин)
Реализация показа прогресса фоновой операции, когда она может быть вызвана у любого элемента списка, причем может выполняться несколько операций одновременно.
Parallel processing with state management in Lists (4 мин)
Реализация показа прогресса фоновой операции, когда она может быть вызвана у любого элемента списка, причем может выполняться несколько операций одновременно.
👎24👍16🤔3🔥1
#compose
How to display HTML using Android Compose (3 мин)
Реализация Composable функции для показа Html на основе Html из Android SDK
Исходный код здесь
How to display HTML using Android Compose (3 мин)
Реализация Composable функции для показа Html на основе Html из Android SDK
Исходный код здесь
👎21👍11🤔4
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
#test #coroutines
Migrating to the new coroutines 1.6 test APIs (5 мин)
В KotlinX Coroutines 1.6 значительно обновили API для тестирования корутин, если вы еще не успели мигрировать на новую версию библиотеки и у вас есть тесты, то статья расскажет вам про изменения:
👉 runTest вместо runBlockingTest
👉 Замену главного потока на новый TestDispatcher
👉 UnconfinedTestDispatcher для тестирования Flow
👉 Разница между UnconfinedTestDispatcher и StandardTestDispatcher
👉 Сброс кода после тестов
Пример обновления тестов можно найти здесь, здесь и здесь. Также есть официальное руководство по миграции от JetBrains
Migrating to the new coroutines 1.6 test APIs (5 мин)
В KotlinX Coroutines 1.6 значительно обновили API для тестирования корутин, если вы еще не успели мигрировать на новую версию библиотеки и у вас есть тесты, то статья расскажет вам про изменения:
👉 runTest вместо runBlockingTest
👉 Замену главного потока на новый TestDispatcher
👉 UnconfinedTestDispatcher для тестирования Flow
👉 Разница между UnconfinedTestDispatcher и StandardTestDispatcher
👉 Сброс кода после тестов
Пример обновления тестов можно найти здесь, здесь и здесь. Также есть официальное руководство по миграции от JetBrains
👍15👎10
#compose
Independent versioning of Jetpack Compose libraries
👉 Начиная с 29 июня 2022 библиотеки Compose отходят от общего релизного цикла и соответственно одинаковых версий
👉 Стабильный Compose 1.2.0 поддерживает Kotlin 1.7.0
👉 Теперь гарантируется совместимость в обе стороны для библиотек Compose с новыми версиями компилятора. Например, вы можете обновить Compose Compiler до 1.2.0, чтобы получить новую версию Kotlin, но вот сами библиотеки Compose можно оставить в версии 1.1.0
👉 Compose Compiler будет выходить чаще, чтобы поддерживать последние изменения в Kotlin. Карту совместимости версий Compose и Kotlin смотрите здесь
👉 Про отвязку от версии Kotlin речи пока так и не идет. Нужно дождаться стабильного API плагинов Kotlin компилятора.
Independent versioning of Jetpack Compose libraries
👉 Начиная с 29 июня 2022 библиотеки Compose отходят от общего релизного цикла и соответственно одинаковых версий
👉 Стабильный Compose 1.2.0 поддерживает Kotlin 1.7.0
👉 Теперь гарантируется совместимость в обе стороны для библиотек Compose с новыми версиями компилятора. Например, вы можете обновить Compose Compiler до 1.2.0, чтобы получить новую версию Kotlin, но вот сами библиотеки Compose можно оставить в версии 1.1.0
👉 Compose Compiler будет выходить чаще, чтобы поддерживать последние изменения в Kotlin. Карту совместимости версий Compose и Kotlin смотрите здесь
👉 Про отвязку от версии Kotlin речи пока так и не идет. Нужно дождаться стабильного API плагинов Kotlin компилятора.
👍53👎11🔥11
#jetpack #jetpackupdate
Обновление Android Jetpack от 29 июня 2022
Новая пачка обновление радуем множеством стабильных библиотек, которые построены вокруг новой возможности в Lifecycle 2.5.0 - ViewModel CreationExtras.
👉 В Activity задепрекейтели все callback и перевели в Provider API.
👉 Также все кто работает с камерой могут обновляться — вышла Camera 1.1.0 с поддержкой видео, а также множеством улучшений и исправлений багов.
👉 Все больше библиотек переписывают на Kotlin
👉 Compose в Stable поддерживает Kotlin 1.7.0
Обновление Android Jetpack от 29 июня 2022
Новая пачка обновление радуем множеством стабильных библиотек, которые построены вокруг новой возможности в Lifecycle 2.5.0 - ViewModel CreationExtras.
👉 В Activity задепрекейтели все callback и перевели в Provider API.
👉 Также все кто работает с камерой могут обновляться — вышла Camera 1.1.0 с поддержкой видео, а также множеством улучшений и исправлений багов.
👉 Все больше библиотек переписывают на Kotlin
👉 Compose в Stable поддерживает Kotlin 1.7.0
Telegraph
Что нового в Andrpoid Jetpack от 29 июня 2022
Обновление Android Jetpack в этот раз содердит много стабильных обновлений, которые построены на новых API ViewModel в Lifecycle 2.5.0. Все самые интересные изменения ниже, е если хотите больше подробностей то смотрите их здесь Lifecycle 2.5.0 Stable SavedStateHandle…
👍30👎9
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
KotlinConf возвращается! Супер ранние билеты разобрали за минут 30, но сейчас доступны ранние билеты по цене 375 евро + НДС. Пройдет событие в Амстердаме.
С удовольствием бы съездил, но как представлю сколько предстоит дороги и гемороя с визой, то все желание отбилось напрочь
С удовольствием бы съездил, но как представлю сколько предстоит дороги и гемороя с визой, то все желание отбилось напрочь
🔥17👎9😢5👍1
#compose
Jetpack Compose Stability Explained (13 мин)
Jetpack Compose при обновлении состояния старается перерисовывать как можно меньше частей. Чтобы это происходило эффективнее вам надо помечать типы, которые входят в состояние, с помощью специальных аннотаций Immutable и Stable
Автор статье подробнее рассматривает
👉 что такое стабильность в Compose
👉 что такое рекомпозиция
👉 как дебажить состояние
👉 когда вам нужно проставлять аннотации
Jetpack Compose Stability Explained (13 мин)
Jetpack Compose при обновлении состояния старается перерисовывать как можно меньше частей. Чтобы это происходило эффективнее вам надо помечать типы, которые входят в состояние, с помощью специальных аннотаций Immutable и Stable
Автор статье подробнее рассматривает
👉 что такое стабильность в Compose
👉 что такое рекомпозиция
👉 как дебажить состояние
👉 когда вам нужно проставлять аннотации
👍34👎9
#performance #compose
Screen response time. A critical metric for user experience (9 мин)
Команда OkCredit делится своим опытом оптимизации скорости отрисовки первого кадра в Android приложении.
В статье разбираются:
👉 принципы загрузки экранов с UI на XML и Jetpack Compose
👉 Что является хорошей скорость показа первого кадра
👉 Способы ускорения отрисовки
👉 Хорошие и плохие практики
Автор ничего не рассказал про Performance тесты, которые позволят понять как влияют ваши оптимизации на желаемую метрику, но вы не забывайте про них.
Из статьи узнал про тулзу X2C которая конвертирует XML файлы в Java код, чтобы не использовать рефлексию. Буду писать про нее отдельно после исследования
Screen response time. A critical metric for user experience (9 мин)
Команда OkCredit делится своим опытом оптимизации скорости отрисовки первого кадра в Android приложении.
В статье разбираются:
👉 принципы загрузки экранов с UI на XML и Jetpack Compose
👉 Что является хорошей скорость показа первого кадра
👉 Способы ускорения отрисовки
👉 Хорошие и плохие практики
Автор ничего не рассказал про Performance тесты, которые позволят понять как влияют ваши оптимизации на желаемую метрику, но вы не забывайте про них.
Из статьи узнал про тулзу X2C которая конвертирует XML файлы в Java код, чтобы не использовать рефлексию. Буду писать про нее отдельно после исследования
👎12👍9
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
14 задач по Kotlin lists, которые заставят вас подумать
Проверьте как хорошо вы знаете операторы для работы с коллекциями, чтобы добиться необходимого результата.
Надеюсь автор статьи так на собесе не спрашивает 😁
Проверьте как хорошо вы знаете операторы для работы с коллекциями, чтобы добиться необходимого результата.
Надеюсь автор статьи так на собесе не спрашивает 😁
👍30👎29🔥1
📺 Жизнь без публикации в Google Play и App Store (~50 мин)
#AndroidBroadcast #РаннийДоступ
В текущих реалиях санкционные компании столкнулись с тем, что распространять сборке в Google Play и Apple App Store невозможно. Разработчикам надо решать новые задачи для распространения своих продуктов, а также обеспечения их безопасности. Вот что делать с iOS разработкой совсем непонятно и будет ли это катастрофа для яблочного сообщества в России и Беларуси. Обо всем этом в новом интервью на канале
#AndroidBroadcast #РаннийДоступ
В текущих реалиях санкционные компании столкнулись с тем, что распространять сборке в Google Play и Apple App Store невозможно. Разработчикам надо решать новые задачи для распространения своих продуктов, а также обеспечения их безопасности. Вот что делать с iOS разработкой совсем непонятно и будет ли это катастрофа для яблочного сообщества в России и Беларуси. Обо всем этом в новом интервью на канале
👎61👍33🔥2🎉1
#ПодборкаВидео
📺 Почему процессоры греются? (9 мин)
📺 How to Hide & Protect API Keys in Your Android App (Reverse Engineering) (10 мин)
📺 The Full Guide to Debugging Your Android Apps - Android Studio Tutorial (11 мин)
📺 Gradle Review Show, LIVE. 30/06/2022 (2.5 часа)
P.S. Понял как давно уже не было контента на канале и ахнул. Скоро наверстаю
📺 Почему процессоры греются? (9 мин)
📺 How to Hide & Protect API Keys in Your Android App (Reverse Engineering) (10 мин)
📺 The Full Guide to Debugging Your Android Apps - Android Studio Tutorial (11 мин)
📺 Gradle Review Show, LIVE. 30/06/2022 (2.5 часа)
P.S. Понял как давно уже не было контента на канале и ахнул. Скоро наверстаю
👍38👎11
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
#AndroidBroadcast #сoroutines #курс
📺 Курс по корутинам #8. Android (8 мин)
Ранний доступ на Boosty
В новой части курс рассказываю про применение корутин в Android: особенные CoroutineScope, suspend функции и прочие аспекты
📺 Курс по корутинам #8. Android (8 мин)
Ранний доступ на Boosty
В новой части курс рассказываю про применение корутин в Android: особенные CoroutineScope, suspend функции и прочие аспекты
👍47👎18
#compose #animation
Customizing AnimatedContent in Jetpack Compose (9 мин)
В статье рассказывается про AnimatiedContent - специальную composable функцию (пока в экспериментальном статусе) для плавной смены между composable, позволяя делать это приятно для пользователя и задавая собственные эффекты перехода.
Примеры того какие анимации делают вы можете посмотреть в этому посту. В коде это тоже делать несложно. Анимация с Compose действительно становится проще и понятнее
Customizing AnimatedContent in Jetpack Compose (9 мин)
В статье рассказывается про AnimatiedContent - специальную composable функцию (пока в экспериментальном статусе) для плавной смены между composable, позволяя делать это приятно для пользователя и задавая собственные эффекты перехода.
Примеры того какие анимации делают вы можете посмотреть в этому посту. В коде это тоже делать несложно. Анимация с Compose действительно становится проще и понятнее
🔥28👎8👍6👏1