#Animation
BottomNavigationView: Animating Icons
Руководство по анимированию иконок в BottomNavigationView на основе AnimatedStateListDrawable.
BottomNavigationView: Animating Icons
Руководство по анимированию иконок в BottomNavigationView на основе AnimatedStateListDrawable.
Styling Android
BottomNavigationView: Animating Icons
There is an occasional series on Styling Android which covers techniques for creating Animated Icons as AnimatedVectorDrawable and AnimatedStateListDrawable. These are quite easy to use when using th
#Architecture #MVI #Reactive
Introducing Orbit MVI for Kotlin and Android
Разработчики из компании Babylon Health показали свое собственное решение для архитектуры - OrbitMVI. В статье рассматриваются базовые принципы MVI и особенности решения.
Introducing Orbit MVI for Kotlin and Android
Разработчики из компании Babylon Health показали свое собственное решение для архитектуры - OrbitMVI. В статье рассматриваются базовые принципы MVI и особенности решения.
Medium
Introducing Orbit MVI for Kotlin and Android
We are delighted to introduce Orbit MVI, a library for the Model-View-Intent UI architecture pattern for Kotlin and Android.
#Podcast #Reaktive #Kotlin #Multiplatform
Подкаст "Reaktive на Kotlin Multiplatform"
Взял интервью у разработчиков библиотеки Reaktive: Аркадия Иванова и Юрий Влада. Ребята рассказали о реализации, с каким трудностями столкнулись при разработке на Kotlin Multiplatform, готовность к проду, производительность и пр.
Полезные ссылки:
👉 Reaktive Github
👉 Reaktive JMH Benchmark
👉 Доклад "Kotlin Multiplatform с точки зрения бизнеса"
Подкаст "Reaktive на Kotlin Multiplatform"
Взял интервью у разработчиков библиотеки Reaktive: Аркадия Иванова и Юрий Влада. Ребята рассказали о реализации, с каким трудностями столкнулись при разработке на Kotlin Multiplatform, готовность к проду, производительность и пр.
Полезные ссылки:
👉 Reaktive Github
👉 Reaktive JMH Benchmark
👉 Доклад "Kotlin Multiplatform с точки зрения бизнеса"
SoundCloud
Hear the world’s sounds
Explore the largest community of artists, bands, podcasters and creators of music & audio
#Coroutines #Flow
Binding Android UI with Kotlin Flow
Помните библиотеку RxBinding? Она позволяет получать события от Android виджетов в Rx стиле. Kotlin Flow -это реактивный подход, основанный на Coroutines. Так вот, энтузиасты совместили подходы RxBinding, заменив механизм на Flow, получили новую библиотеку - FlowBinding. В статье рассматриваются все подробности работы с библиотекой.
Binding Android UI with Kotlin Flow
Помните библиотеку RxBinding? Она позволяет получать события от Android виджетов в Rx стиле. Kotlin Flow -это реактивный подход, основанный на Coroutines. Так вот, энтузиасты совместили подходы RxBinding, заменив механизм на Flow, получили новую библиотеку - FlowBinding. В статье рассматриваются все подробности работы с библиотекой.
DEV Community 👩💻👨💻
Binding Android UI with Kotlin Flow
Modern Android codebases are becoming increasingly reactive. With concepts and patterns such as MVI,...
#Coroutines
Everything you need to know about Kotlin Coroutines
Слышали о
В статье вы найдете краткое руководство обо всех основных моментах, что позволит вам понять тему и попробовать их в действии.
Everything you need to know about Kotlin Coroutines
Слышали о
Kotlin Coroutine
? Трудно такое пропустить. Все кто использует Kotlin (а это большинство Android разработчиков). Google также активно агитирует за использование этого асинхронного подхода. Нет, это не из-за "Kotlin First" в Android разработке, а из-за того как Structured Concurrency
эффективно решает связь между асинхронными задачами и жизненным циклом компонентов.В статье вы найдете краткое руководство обо всех основных моментах, что позволит вам понять тему и попробовать их в действии.
Medium
Everything you need to know about kotlin coroutines
In this article, I will demystify all the kotlin coroutines terminologies and its internals. Article contains lots of runnable examples.
#ADB
Вышли SDK Platform Tools 29.0.5 в которой была улучшена 👉 производительность на Linux
👉 для команды
Вышли SDK Platform Tools 29.0.5 в которой была улучшена 👉 производительность на Linux
👉 для команды
adb install
был добавлен новый флаг --fastdeploy
, который позволяет инкрементально обновлять APK во время разработки.#RxJava
Operator fusion in RxJava 2
Разбор оптимизаций библиотеки RxJava 2 для обеспечения наибольшей производительности и устранения негативных эффектов от создание множества промежуточных объектов, называемые
Operator fusion in RxJava 2
Разбор оптимизаций библиотеки RxJava 2 для обеспечения наибольшей производительности и устранения негативных эффектов от создание множества промежуточных объектов, называемые
"operator fusion"
.Medium
Operator fusion in RxJava 2
Overview of optimizations in RxJava2
#Security #Biometric #Jetpack
One Biometric API Over all Android
Готовиться к стабильному релизу библиотека AndroidX Biometric (текущий статус RC2), которая портирует возможности
One Biometric API Over all Android
Готовиться к стабильному релизу библиотека AndroidX Biometric (текущий статус RC2), которая портирует возможности
android.hardware.biometrics
на Android 6.0+. android.hardware.biometrics
предоставляет стандартный UI для биометрической авторизации (отпечатком пальца или другой) и минимизирует затраты на интеграциюAndroid Developers Blog
One Biometric API Over all Android
Posted by Isai Damier, Android Developer Platform Engineering (@isaidamier) Kevin Chyn, Android Framework Curtis Belmonte, Android Frame...
#GooglePlay
Policies & Publishing on Google Play
Как правильно разрабатывать ваше приложение чтобы оно прошло одобрение в Google Play или не было забанено в будущем? В Google сделали небольшое видео с раскрытием основных политик:
👉 Используйте аудио, видео и картинки, которые не нарушают авторских прав
👉 Безопасность данных пользователя - важный аспект
👉 Используйте только необходимые разрешения, которые нужны вашему приложению
👉 Соответствие Family Policy, в особенности если ваше приложение позиционируется для детей или дети могут использовать его
👉 Правильное описание вашего приложения в Google Play
Соблюдение этих правил - шаг на пути к успешной публикации в Google Play
Policies & Publishing on Google Play
Как правильно разрабатывать ваше приложение чтобы оно прошло одобрение в Google Play или не было забанено в будущем? В Google сделали небольшое видео с раскрытием основных политик:
👉 Используйте аудио, видео и картинки, которые не нарушают авторских прав
👉 Безопасность данных пользователя - важный аспект
👉 Используйте только необходимые разрешения, которые нужны вашему приложению
👉 Соответствие Family Policy, в особенности если ваше приложение позиционируется для детей или дети могут использовать его
👉 Правильное описание вашего приложения в Google Play
Соблюдение этих правил - шаг на пути к успешной публикации в Google Play
YouTube
Policies & publishing on Google Play
To ensure long term success on Google Play, it is our collective responsibility to create a safe experience for consumers. We want users to trust the apps and games they download from Google Play, which is why user privacy is at the forefront of our policies.…
#Image #Animation
Animate image rotation like a PRO
Рассказ о том как красиво повернуть картинку (конечно же с анимацией), используя для этого изменение матрицы картинки.
Animate image rotation like a PRO
Рассказ о том как красиво повернуть картинку (конечно же с анимацией), используя для этого изменение матрицы картинки.
Medium
Animate image rotation like a PRO
So you wrote your very cool Android app, and inside you want to capture an image from Camera / Gallery.
#SDK #Video
Выпущено TikTok SDK
Стало доступно публичное SDK для популярного сервиса TikTok. С помощью него вы можете встроить видео из сервиса в своё приложение или загрузить его туда.
Выпущено TikTok SDK
Стало доступно публичное SDK для популярного сервиса TikTok. С помощью него вы можете встроить видео из сервиса в своё приложение или загрузить его туда.
#Performance
The battle for jank*-less UI on Android
Разбор базовых способов как найти проблемы почему ваше приложение пропускает кадры и не отображает UI с частотой 60 кадров в секунду:
👉 StrictMode
👉 GPU Overdraw
👉 HWUI rendering
The battle for jank*-less UI on Android
Разбор базовых способов как найти проблемы почему ваше приложение пропускает кадры и не отображает UI с частотой 60 кадров в секунду:
👉 StrictMode
👉 GPU Overdraw
👉 HWUI rendering
Medium
The battle for jank*-less UI on Android
Recently I was playing with one of the apps I’ve been working on and I’ve noticed something interesting — there was a noticeable…
#JSON #Performance
Beyond Gson — Evaluating JSON Parsers for Android & Kotlin
Какой JSON парсер самый быстрый? Задумывались ли вы об этом? Я думаю что значительная часть подписчиков канала используют GSON в качестве парсера, возможно даже и не зная этого.
Что не так с GSON? Он не поддерживает Kotlin из коробки (например nullability), который является основным языком для Android разработки.
В статье сравниваются различные парсеры и как можно мигрировать на них. Результаты сравнения по тестам производительности следующий:
1️⃣ Moshi 🏆
2️⃣ kotlinx.serialization (в процессе разработке, но уже стабильна)
3️⃣ GSON
4️⃣ Jackson
Первые два парсера смогли оторваться за счет того что не используют рефлексию
Beyond Gson — Evaluating JSON Parsers for Android & Kotlin
Какой JSON парсер самый быстрый? Задумывались ли вы об этом? Я думаю что значительная часть подписчиков канала используют GSON в качестве парсера, возможно даже и не зная этого.
Что не так с GSON? Он не поддерживает Kotlin из коробки (например nullability), который является основным языком для Android разработки.
В статье сравниваются различные парсеры и как можно мигрировать на них. Результаты сравнения по тестам производительности следующий:
1️⃣ Moshi 🏆
2️⃣ kotlinx.serialization (в процессе разработке, но уже стабильна)
3️⃣ GSON
4️⃣ Jackson
Первые два парсера смогли оторваться за счет того что не используют рефлексию
Medium
Beyond Gson — Evaluating JSON Parsers for Android & Kotlin
Background
#JSON #Multiplatform
Хотите узнать подробнее о kotlinx.serialization - рекомендую посмотреть доклад разработчика этой библиотеки Леонида Старцева из JetBrains "Дизайн kotlinx.serialization"
Хотите узнать подробнее о kotlinx.serialization - рекомендую посмотреть доклад разработчика этой библиотеки Леонида Старцева из JetBrains "Дизайн kotlinx.serialization"
YouTube
"Дизайн kotlinx.serialization" - Леонид Старцев@JetBrains
Леонид рассказал о библиотеке kotlinx.serialization: зачем она была создана, какие архитектурные решения были приняты в процессе её написания. О том, как она работает изнутри и как программисты могут ей пользоваться и расширять её.
Github - https://gith…
Github - https://gith…
Android Broadcast
Какой парсер JSON используете вы?
Явным лидером оказалось творение Google - GSON. Я считаю что он не соответсвует духу современной разработки под Android - это Kotlin и отказ от рефлексии в пользу кодогенерации (kapt или с помощью Gradle плагина).
Лично я выбираю Moshi - оптимизируемый код, модели, которые можно обфусцировать и поддержка Kotlin
Также жду стабильного релиза kotlinx.serialization и оценить всю его финальную мощь.
Делитесь своим мнение в - @android_broadcast_discussions
Лично я выбираю Moshi - оптимизируемый код, модели, которые можно обфусцировать и поддержка Kotlin
Также жду стабильного релиза kotlinx.serialization и оценить всю его финальную мощь.
Делитесь своим мнение в - @android_broadcast_discussions
GitHub
GitHub - Kotlin/kotlinx.serialization: Kotlin multiplatform / multi-format serialization
Kotlin multiplatform / multi-format serialization - GitHub - Kotlin/kotlinx.serialization: Kotlin multiplatform / multi-format serialization
#Gradle
Вышел Gradle 6.0
Вышла новая мажорная версия основной системы сборки для Android проектов Gradle. Давайте смотреть что же нового!
👉 Множество улучшений в управление зависимостями
👉
👉 Улучшение инкрементальной компиляции Java
👉 Новое API для разработчиков Gradle плагинов: ConfigurableFileTree, FileCollection, FileSystemOperations, ExecOperations
👉 Улучшения Worker API
👉 Улучшения в безопасности: запрет работы по HTTP для репозиториев
👉 Отображение проблем с Task во время их выполнения. Теперь легче понять какие проблемы с объявлением
👉 Часть экспериментальных фичей стали стабильными: поддержка C++ and Swift support
👉 Удаление Deprecated кода
ВАЖНО: Будьте внимательны при обновление все те кто использует Android Gradle Plugin < 4.0 т.к.проект может перестать собираться или может отвалиться некоторые плагины
Вышел Gradle 6.0
Вышла новая мажорная версия основной системы сборки для Android проектов Gradle. Давайте смотреть что же нового!
👉 Множество улучшений в управление зависимостями
👉
maven-publish
плагин теперь публикует Gradle Module Metadata👉 Улучшение инкрементальной компиляции Java
👉 Новое API для разработчиков Gradle плагинов: ConfigurableFileTree, FileCollection, FileSystemOperations, ExecOperations
👉 Улучшения Worker API
👉 Улучшения в безопасности: запрет работы по HTTP для репозиториев
👉 Отображение проблем с Task во время их выполнения. Теперь легче понять какие проблемы с объявлением
Task
что не позволяет ему кэшировать результат👉 Часть экспериментальных фичей стали стабильными: поддержка C++ and Swift support
👉 Удаление Deprecated кода
ВАЖНО: Будьте внимательны при обновление все те кто использует Android Gradle Plugin < 4.0 т.к.проект может перестать собираться или может отвалиться некоторые плагины
#Gradle #CodeGeneration
Generating Java/Kotlin source files during Android Gradle build
Популярный способ генерации кода в Android/Java проектах - использование annotation processing. Есть ограничения этого механизма - он способен обрабатывать аннотации только в Java/Kotlin коде.
Но что делать если вы хотите генерировать код на основе других исходников, например XML файлов, или вовсе без исходников Например, так делает Android Data Binding. Реализуется это с помощью генерации кода на основе Android Gradle плагина. В статье разбирается пример как вы можете сгенерировать код самостоятельно.
Generating Java/Kotlin source files during Android Gradle build
Популярный способ генерации кода в Android/Java проектах - использование annotation processing. Есть ограничения этого механизма - он способен обрабатывать аннотации только в Java/Kotlin коде.
Но что делать если вы хотите генерировать код на основе других исходников, например XML файлов, или вовсе без исходников Например, так делает Android Data Binding. Реализуется это с помощью генерации кода на основе Android Gradle плагина. В статье разбирается пример как вы можете сгенерировать код самостоятельно.
Medium
Generating Java/Kotlin source files during Android Gradle build.
Android Gradle Plugin generates a number of java source files like BuildConfig.java, binding classes for layout and views. But until the…
#Jetpack #JetpackWeekly #Webkit #Biometric #Security
Jetpack Weekly #11
🎁 Biometric 1.0.0 - backport Biometric API из Android 10
🎁 Annotation-Experimental 1.0.0 - перенос Kotlin
👍 Webkit 1.1.0 - больше безопасности, больше дебага, больше поддержки Kotlin и возможность задавать прокси
Jetpack Weekly #11
🎁 Biometric 1.0.0 - backport Biometric API из Android 10
🎁 Annotation-Experimental 1.0.0 - перенос Kotlin
@Experimental
аннотации в Java при помощи Android Lint👍 Webkit 1.1.0 - больше безопасности, больше дебага, больше поддержки Kotlin и возможность задавать прокси
Medium
Android Jetpack Weekly #11
Experimental annotation, Biometric & Webkit are stable