#AndroidBroadcast
@android_broadcast - это не только Telegram канал, но множество других интересных источников, где можно получать информацию
@kotlin_broadcast - Telegram канал с новостями Kotlin разработки. Много внимания уделяется Kotlin Multiplatform Mobile, так как за ним будущее.
📺 YouTube канал Android Broadcast - новости, лучшие практики, подкасты и интервью.
🎵 Подкасты на SoundCloud, Яндекс Музыке, Apple Podcasts и др. сервисах.
Вы можете поддержать проект на Boosty или Patreon и получите ранний доступ к новым роликам и подкастам
Личные соц сети Кирилла, где он делится свои мыслями и работой над Android Broadcast:
👉 Twitter @kirill_rozov
👉 Instagram @krlrozov
🔥 Хотите выиграть билет на Podlodka Android Crew #3, все условия в Twitter посте и скоро в Instagram
@android_broadcast - это не только Telegram канал, но множество других интересных источников, где можно получать информацию
@kotlin_broadcast - Telegram канал с новостями Kotlin разработки. Много внимания уделяется Kotlin Multiplatform Mobile, так как за ним будущее.
📺 YouTube канал Android Broadcast - новости, лучшие практики, подкасты и интервью.
🎵 Подкасты на SoundCloud, Яндекс Музыке, Apple Podcasts и др. сервисах.
Вы можете поддержать проект на Boosty или Patreon и получите ранний доступ к новым роликам и подкастам
Личные соц сети Кирилла, где он делится свои мыслями и работой над Android Broadcast:
👉 Twitter @kirill_rozov
👉 Instagram @krlrozov
🔥 Хотите выиграть билет на Podlodka Android Crew #3, все условия в Twitter посте и скоро в Instagram
#Безопасность #Debug #ProGuard
Debugging Proguard configuration issues
Все те кто использует R8/ProGuard для обфускации и минификации своего кода как минимум раз сталкивались с тем, что приложение в релизе падает.
Автор приводит алгоритм по которому стоит искать ошибку:
1️⃣ Убедитесь что проблема связана именно с минификацией
2️⃣ Убедитесь не связана ли проблема с
3️⃣ Убедитесь не связана ли проблема с обфускацией кода
Автор также демонстрирует пример и как работает его рекомендация на практике
Debugging Proguard configuration issues
Все те кто использует R8/ProGuard для обфускации и минификации своего кода как минимум раз сталкивались с тем, что приложение в релизе падает.
Автор приводит алгоритм по которому стоит искать ошибку:
1️⃣ Убедитесь что проблема связана именно с минификацией
2️⃣ Убедитесь не связана ли проблема с
shrinkResources
3️⃣ Убедитесь не связана ли проблема с обфускацией кода
Автор также демонстрирует пример и как работает его рекомендация на практике
#Java
Java 16 — новые синтаксические возможности языка
Весной выйдет новая версии Java под номером 16. И да, теперь это происходит так долго, так что версии растут несоизмеримо быстро.
Новая версии языка привносит всё то, к чему уже давно привыкли в Kotlin.
Java 16 — новые синтаксические возможности языка
Весной выйдет новая версии Java под номером 16. И да, теперь это происходит так долго, так что версии растут несоизмеримо быстро.
Новая версии языка привносит всё то, к чему уже давно привыкли в Kotlin.
#Безопасность #OWASP
Топ-10 уязвимостей мобильных приложений и способы их устранения
OWASP - это место где вы можете найти самые трендовые уязвимости мобильных приложений. Хотите начать защиту, смотрите туда.
В статье автор рассматривает список уязвимостей 2016 года и рассказывает о том как эта уязвимость проявляется, а также что делать разработчику, чтобы не дать злоумышленникам воспользоваться ею.
Список уязвимостей:
‼️ Неправильное использование платформы
‼️ Небезопасное хранилище данных
‼️ Небезопасная коммуникация
‼️ Небезопасная аутентификация
‼️ Недостаточная криптографическая стойкость
‼️ Небезопасная авторизация
‼️ Качество кода клиента
‼️ Подделка кода
‼️ Реверс-инжиниринг
‼️ Лишняя функциональность
Топ-10 уязвимостей мобильных приложений и способы их устранения
OWASP - это место где вы можете найти самые трендовые уязвимости мобильных приложений. Хотите начать защиту, смотрите туда.
В статье автор рассматривает список уязвимостей 2016 года и рассказывает о том как эта уязвимость проявляется, а также что делать разработчику, чтобы не дать злоумышленникам воспользоваться ею.
Список уязвимостей:
‼️ Неправильное использование платформы
‼️ Небезопасное хранилище данных
‼️ Небезопасная коммуникация
‼️ Небезопасная аутентификация
‼️ Недостаточная криптографическая стойкость
‼️ Небезопасная авторизация
‼️ Качество кода клиента
‼️ Подделка кода
‼️ Реверс-инжиниринг
‼️ Лишняя функциональность
#Jetpack #Пагинация
Paging 3 — Easier Way to Pagination
Paging 3 - это следующая версия Jetpack библиотеки для работы с пагинацией списков. Основные отличия от предыдущей версии:
👉 Написана на Kotlin
👉 Базируется на Kotlin Coroutine
👉 Поддержка повторов запросов и ошибок
В статье автор разбирает интеграцию версии Paging 3.0.0-alpha12 в приложение
Paging 3 — Easier Way to Pagination
Paging 3 - это следующая версия Jetpack библиотеки для работы с пагинацией списков. Основные отличия от предыдущей версии:
👉 Написана на Kotlin
👉 Базируется на Kotlin Coroutine
👉 Поддержка повторов запросов и ошибок
В статье автор разбирает интеграцию версии Paging 3.0.0-alpha12 в приложение
#AndroidOS
Google is working on MicroDroid, a stripped-down version of Android for virtual machines
Google работает над специальной версий Android, предназначенной для запуске в виртуальной машине. Это будет "обрезанная" версия Android System Image (GSI).
Возможно Google хочет иметь возможность запускать Android приложения в специальной песочнице на Android устройства, используя hypervisor.
Также проект вполне может являться частью переноса механизма виртуализации KVM на Android устройства с ARM64 SoC. Может и связан с Chrome OS и поддержкой Android приложений на других ОС. Время покажет.
Информация из коммита в Android
Google is working on MicroDroid, a stripped-down version of Android for virtual machines
Google работает над специальной версий Android, предназначенной для запуске в виртуальной машине. Это будет "обрезанная" версия Android System Image (GSI).
Возможно Google хочет иметь возможность запускать Android приложения в специальной песочнице на Android устройства, используя hypervisor.
Также проект вполне может являться частью переноса механизма виртуализации KVM на Android устройства с ARM64 SoC. Может и связан с Chrome OS и поддержкой Android приложений на других ОС. Время покажет.
Информация из коммита в Android
#ML #MlKit #Камера
Google ML Kit Selfie Segmentation
Google ML Kit - это набор инструментов, который позволит вам использовать силу ML в своих приложения под Android и iOS. Например одна из последних фичей сервиса - отделение фона и фокус на важном, например человеке в кадре.
С помощью такого API вы можете добавить свой собственный фон за объектом или размывать его для крутых портретов.
API работает на Android и iOS. Чтобы получить ранний доступ к API вам надо заполнить специальную форму.
Google ML Kit Selfie Segmentation
Google ML Kit - это набор инструментов, который позволит вам использовать силу ML в своих приложения под Android и iOS. Например одна из последних фичей сервиса - отделение фона и фокус на важном, например человеке в кадре.
С помощью такого API вы можете добавить свой собственный фон за объектом или размывать его для крутых портретов.
API работает на Android и iOS. Чтобы получить ранний доступ к API вам надо заполнить специальную форму.
#Jetpack #WorkManager
Вышел WorkManager 2.5.0
Вышла новая стабильная версия WorkManager, которая принесла:
👉 Новый артефакт
👉 Теперь явно можно указать в каком процессе надо выполнять
👉 Улучшено выполнение
👉 Размер истории выполненых Job хранится теперь 1 день вместо 7. Если нужно больше, то это можно регулировать с помощью
👉 Новое тестовое Kotlin API
👉 Исправление багов
Вышел WorkManager 2.5.0
Вышла новая стабильная версия WorkManager, которая принесла:
👉 Новый артефакт
work-multiprocess
, улучающий работу в приложениях со множеством процессов.👉 Теперь явно можно указать в каком процессе надо выполнять
WorkRequest
. Надо использовать RemoteWorkManager👉 Улучшено выполнение
WorkRequest
, юлагодаря тому что теперь проверяется можно ли запустить JobService
для выполнения задач👉 Размер истории выполненых Job хранится теперь 1 день вместо 7. Если нужно больше, то это можно регулировать с помощью
keepResultsForAtLeast()
API. Это сделано с целью сокращения расхода места на диске👉 Новое тестовое Kotlin API
👉 Исправление багов
Сегодня иду в гости в подкаст ProConf, который строится вокруг обсуждения конференций, чтобы вам их не смотреть.
Я присоединюсь чтобы обсудить прошедший Android Summit 2020. Всё можно будет увидеть в прямом эфире или в записи после.
Сегодня в 19.00 (GMT+3) подключайтесь
Я присоединюсь чтобы обсудить прошедший Android Summit 2020. Всё можно будет увидеть в прямом эфире или в записи после.
Сегодня в 19.00 (GMT+3) подключайтесь
#Networking #Безопасность
OAuth 2.0 -> OAuth 2.1. Что дальше?
Безопасность - важный аспект любого приложения. Для реализации авторизации по принципам OAuth 2.0 мы уже давно привыкли, хоть многие и понимают это по разному.
В своей статье автор рассматривает принципы OAuth 2.0 и почему понадобилось спустя 8 лет работать над OAuth 2.1.
OAuth 2.0 -> OAuth 2.1. Что дальше?
Безопасность - важный аспект любого приложения. Для реализации авторизации по принципам OAuth 2.0 мы уже давно привыкли, хоть многие и понимают это по разному.
В своей статье автор рассматривает принципы OAuth 2.0 и почему понадобилось спустя 8 лет работать над OAuth 2.1.
#Performance #Аналитика
Приложение отвечает: как мы уменьшили количество ANRs в шесть раз.
Часть 2, про исправление ошибок
Продолжение серии статей от Badoo как они истребили ANR в статистике своего приложения! В новой части ребята разбирают как проверяли слабые места приложения, которые по итогу оказался вызов Application.onCreate() и особенно, когда запуске приложения происходил в фоне. Например, при отправке Broadcast приложению.
Разработчики провели анализ и выполнили следующие оптимизации:
👉 Lazy загрузка
👉 Инициализация в фоновом потоке
👉 Сторонние библиотеки и их ContentProvider
👉 Оптимизировать работы с SharedPreference, ведь даже вызов apply() в результате может приводить к ANR
👉 Обработка push уведомлений в отдельном процессе
Приложение отвечает: как мы уменьшили количество ANRs в шесть раз.
Часть 2, про исправление ошибок
Продолжение серии статей от Badoo как они истребили ANR в статистике своего приложения! В новой части ребята разбирают как проверяли слабые места приложения, которые по итогу оказался вызов Application.onCreate() и особенно, когда запуске приложения происходил в фоне. Например, при отправке Broadcast приложению.
Разработчики провели анализ и выполнили следующие оптимизации:
👉 Lazy загрузка
👉 Инициализация в фоновом потоке
👉 Сторонние библиотеки и их ContentProvider
👉 Оптимизировать работы с SharedPreference, ведь даже вызов apply() в результате может приводить к ANR
👉 Обработка push уведомлений в отдельном процессе
#AndroidAuto #GooglePlay
Expanding the reach of your Android Auto apps
Google продолжает готовить больше возможностей для создателей приложения для Android Auto. Сейчас вы уже можете публиковать приложения в open testing трек Google Play. Для этого вам придётся использовать библиотеку Android for Cars App.
Команда сейчас работает над переносом библиотеки в Android Jetpack. После этого будет готовиться публикация приложения в production трек Google Play.
Expanding the reach of your Android Auto apps
Google продолжает готовить больше возможностей для создателей приложения для Android Auto. Сейчас вы уже можете публиковать приложения в open testing трек Google Play. Для этого вам придётся использовать библиотеку Android for Cars App.
Команда сейчас работает над переносом библиотеки в Android Jetpack. После этого будет готовиться публикация приложения в production трек Google Play.
#AndroidBroadcast #Kotlin #Multiplatform
MOKO - готовый фреймворк для Android + iOS приложений на основе Kotlin Mobile Multiplatform
Когда: понедельник, 1 февраля, 10:00 (GMT+3)
Опыт компании IceRock в разработке мобильных приложений (нескольких десятков) с использованием Kotlin Multiplatform. Результат этого опыта - MOKO
Гость выпуска - Алексей Михайлов, CTO в IceRock Development
Технический директор компании аутсорс разработки, в прошлом разработчик под мобильные платформы Android и iOS. В студенчестве создал soProject для S.T.A.L.K.E.R. :)
MOKO - готовый фреймворк для Android + iOS приложений на основе Kotlin Mobile Multiplatform
Когда: понедельник, 1 февраля, 10:00 (GMT+3)
Опыт компании IceRock в разработке мобильных приложений (нескольких десятков) с использованием Kotlin Multiplatform. Результат этого опыта - MOKO
Гость выпуска - Алексей Михайлов, CTO в IceRock Development
Технический директор компании аутсорс разработки, в прошлом разработчик под мобильные платформы Android и iOS. В студенчестве создал soProject для S.T.A.L.K.E.R. :)
#GooglePlay
Обновление правил Google Play от 28.01.2021
Обновление правил, которое затронуло приложения для азартных игр:
👉 Новые страны для публикации лицензированных приложений для азартных игр на реальные деньги
👉 Вводятся новые требования для программ лояльности в игровой форме (без подробностей)
👉 Уточнение правил для азартных игр
Обновление правил Google Play от 28.01.2021
Обновление правил, которое затронуло приложения для азартных игр:
👉 Новые страны для публикации лицензированных приложений для азартных игр на реальные деньги
👉 Вводятся новые требования для программ лояльности в игровой форме (без подробностей)
👉 Уточнение правил для азартных игр
#Jetpack
Обновление Android Jetpack от 27.01.2021
Новые мажорные релизы
🎉 Autofill Version 1.1.0 - поддержка API Android 11 и новое InlineSuggestionUi API
🎉 Biometric Version 1.1.0 - поддержка API Android 11 и исправлены утечки памяти и проблемы производительности
🎉 RecyclerView-Selection Version 1.1.0 - улучшение производительности и
🎉 Transition Version 1.4.0 - появились KTX расширения
🎉 Work Version 2.5.0 - подробности изменения здесь, особенно если у вас приложение с несколькими процессами + новый инспектор в Android Studio
Багфикс релизы
🔨 Media2 Version 1.1.2
🔨 Navigation Version 2.3.3
Готовятся к мажорному релизу
🌔 CameraX 1.0.0-rc02
🌔 Fragment Version 1.3.0-rc02
🌓 Annotation-Experimental Version 1.1.0-beta01
🌓 Room Version 2.3.0-beta01 - БД теперь может сама закрываться если она не используется определенное время
В разработке
🏗️ Biometric Version 1.2.0-alpha02 - улучшение API и больше поддержки Kotlin Coroutines
🏗️ CameraX 1.1.0-alpha01
🏗️ Emoji Version 1.2.0-alpha03
🏗️ Hilt Version 1.0.0-alpha03 - поддержка ViewModel и WorkManager / исправление багов
🏗️ Paging Version 3.0.0-alpha13 - изменения API
🏗️ Window Version 1.0.0-alpha02
Обновление Android Jetpack от 27.01.2021
Новые мажорные релизы
🎉 Autofill Version 1.1.0 - поддержка API Android 11 и новое InlineSuggestionUi API
🎉 Biometric Version 1.1.0 - поддержка API Android 11 и исправлены утечки памяти и проблемы производительности
🎉 RecyclerView-Selection Version 1.1.0 - улучшение производительности и
🎉 Transition Version 1.4.0 - появились KTX расширения
🎉 Work Version 2.5.0 - подробности изменения здесь, особенно если у вас приложение с несколькими процессами + новый инспектор в Android Studio
Багфикс релизы
🔨 Media2 Version 1.1.2
🔨 Navigation Version 2.3.3
Готовятся к мажорному релизу
🌔 CameraX 1.0.0-rc02
🌔 Fragment Version 1.3.0-rc02
🌓 Annotation-Experimental Version 1.1.0-beta01
🌓 Room Version 2.3.0-beta01 - БД теперь может сама закрываться если она не используется определенное время
В разработке
🏗️ Biometric Version 1.2.0-alpha02 - улучшение API и больше поддержки Kotlin Coroutines
🏗️ CameraX 1.1.0-alpha01
🏗️ Emoji Version 1.2.0-alpha03
🏗️ Hilt Version 1.0.0-alpha03 - поддержка ViewModel и WorkManager / исправление багов
🏗️ Paging Version 3.0.0-alpha13 - изменения API
🏗️ Window Version 1.0.0-alpha02
#Jetpack #Navigation #Fragment #Dagger
Hilt integration with the Jetpack navigation library
В Hilt 1.0.0-alpha03 появилась интеграция с Navigation библиотекой, которая позволяет получить ViewModel со скопом графа навигации
Hilt integration with the Jetpack navigation library
В Hilt 1.0.0-alpha03 появилась интеграция с Navigation библиотекой, которая позволяет получить ViewModel со скопом графа навигации
#AndroidOS
A Garbage Collection Story
Статья в которой рассказывается о сборщике мусора (GC) в Android, а именно:
👉 Как занимаются ячейки памяти
👉 Появление утечек памяти
👉 Причины OutOfMemoryException
👉 Что плохо с GC в Dalvik VM?
👉 ART и heap fragmentation
Вроде бы матёрому разработчику будет все понятно, но автор настолько легко доносит тему на примере парковки, что я не смог обойти статью мимо.
Еще очень круто об это рассказали Chet Hasse и Roman Guy - https://youtu.be/Zc4JP8kNGmQ
A Garbage Collection Story
Статья в которой рассказывается о сборщике мусора (GC) в Android, а именно:
👉 Как занимаются ячейки памяти
👉 Появление утечек памяти
👉 Причины OutOfMemoryException
👉 Что плохо с GC в Dalvik VM?
👉 ART и heap fragmentation
Вроде бы матёрому разработчику будет все понятно, но автор настолько легко доносит тему на примере парковки, что я не смог обойти статью мимо.
Еще очень круто об это рассказали Chet Hasse и Roman Guy - https://youtu.be/Zc4JP8kNGmQ
#AndroidBroadcast #Новости #Jetpack
Новостной дайджест от 01.02.2021 (15 мин)
Новости Android разработки прошедшей недели:
👉 WorkManager 2.5.0
👉 WorkManager Инспектор в Android Studio
👉 Ускорение старта приложения и уменьшение ANR
👉 AndroidX Biometric 1.1.0: исправление утечек и фикс производительности
и много чего ещё интересного в выпуске!
Поддержать любимый проект http://bit.ly/3sratqQ
P.S. В это выпуске я сделал крупный план и использовал другие подходы в монтаже. Как вам? Оставляйте свой отзыв на YouTube. Это очень важно, позволяет развиваться и повышать качество
Новостной дайджест от 01.02.2021 (15 мин)
Новости Android разработки прошедшей недели:
👉 WorkManager 2.5.0
👉 WorkManager Инспектор в Android Studio
👉 Ускорение старта приложения и уменьшение ANR
👉 AndroidX Biometric 1.1.0: исправление утечек и фикс производительности
и много чего ещё интересного в выпуске!
Поддержать любимый проект http://bit.ly/3sratqQ
P.S. В это выпуске я сделал крупный план и использовал другие подходы в монтаже. Как вам? Оставляйте свой отзыв на YouTube. Это очень важно, позволяет развиваться и повышать качество
#Gradle
Take care of your gradle home directory
История как Gradle Daemon поедает десятки гигабайт на вашем SSD, чтобы "ускорить" работу. Готовьтесь периодически подчищать за ним
Take care of your gradle home directory
История как Gradle Daemon поедает десятки гигабайт на вашем SSD, чтобы "ускорить" работу. Готовьтесь периодически подчищать за ним
#Fragment
7 Common Mistakes Easily Made with Android Fragment
Любой Android разработчик имеет дело с
❌ Создавать новый экземпляр
❌ Создавать объекты в
❌ Восстанавливать состояние в
❌ Держать ссылку на
❌ Обращаться к View во время сохранения состояния Fragment
❌ Использовать
❌ Использовать имя класса
❌ От себя еще добавлю - не храните ссылки на объекты, привязанные к жизненному циклу View, за пределами
7 Common Mistakes Easily Made with Android Fragment
Любой Android разработчик имеет дело с
Fragment
, но правильно варить с ними приложения не всегда очевидно. Автор статьи рассказывает о наиболее популярных ошибка разработчиков:❌ Создавать новый экземпляр
Fragment
без проверки того что он уже добавлен❌ Создавать объекты в
onCreateView()
, которые живут дольше чем UI❌ Восстанавливать состояние в
onCreateView()
❌ Держать ссылку на
Fragment
в Activity
/Fragment
❌ Обращаться к View во время сохранения состояния Fragment
❌ Использовать
add()
в транзакциях вместо replace()
❌ Использовать имя класса
Fragment
как его тег❌ От себя еще добавлю - не храните ссылки на объекты, привязанные к жизненному циклу View, за пределами
onDestoyView()
.