#UserSession
Managing User Sessions In Android
Большинство приложений сталкиваются с авторизацией пользователя, следовательно, есть и управление сессией пользователя: хранение данных, токенов для работы с сервером и прочее.
Автор статьи рассказывает, что ему надоело реализовывать управление сессий в каждом приложении и он написал небольшую библиотеку для этого про которую он и рассказывает.
Managing User Sessions In Android
Большинство приложений сталкиваются с авторизацией пользователя, следовательно, есть и управление сессией пользователя: хранение данных, токенов для работы с сервером и прочее.
Автор статьи рассказывает, что ему надоело реализовывать управление сессий в каждом приложении и он написал небольшую библиотеку для этого про которую он и рассказывает.
Medium
Managing User Sessions In Android
I ended up having to build my library
#Coroutines #Networking
Do I need to call suspend functions of Retrofit and Room on a background thread?
Библиотека Retrofit поддерживает объявление
Do I need to call suspend functions of Retrofit and Room on a background thread?
Библиотека Retrofit поддерживает объявление
suspend
функций, но многие совершают ошибку и при вызове таких функций вызывают их на фоновом потоке. Этого не нужно делать! Хотите узнать почему? Читайте статью.Medium
Do I need to call suspend functions of Retrofit and Room on a background thread?
After publishing my open source project about Coroutines on Android, which currently includes 16 of the most common, real-world use cases…
Forwarded from Mobile People Talks (Mybot_vasya)
Jetpack Compose. Взгляд изнутри.
Когда-то давно, когда деревья были большими, а в Mobile People Talks еще не приглашали гостей, - ведущие уже поднимали тему Jetpack Compose. Пришло время вернуться к ней, так как гостем этого эпизода стал Матвей Мальков из имеющего самое непосредственное к этой теме места - компании Google. И мы точно можем сказать, что он каждый день видит этот тулкит изнутри, так как вместе с командой его и разрабатывает.
Выпуск начинается под вой сирен лондонской полиции, ведущие даже в какой то момент начинают волноваться, что происходит что-то серьезное и в дверь к Матвею скоро начнут врываться суровые полисмены, а выпуск останется незаписанным.
(СПОЙЛЕР) Все обходится благополучно, и ничто не прерывает запись этого эпизода.
Что произошло с Compose за последний год? Насколько он готов к использованию в продакшене? Зачем нужен плагин к Kotlin компилятору? Использует ли Compose нативные компоненты Android SDK или рисует их на канвасе, как Flutter? И наконец, какие вообще есть отличия в подходах к декларативному UI у Jetpack Compose, SwiftUI, ReactNative и Flutter?
Ответы на все эти, и многие другие ХОРОШИЕ вопросы, из первых рук, не пропустите)
🎧 SoundCloud
🎧 Apple Podcasts
Когда-то давно, когда деревья были большими, а в Mobile People Talks еще не приглашали гостей, - ведущие уже поднимали тему Jetpack Compose. Пришло время вернуться к ней, так как гостем этого эпизода стал Матвей Мальков из имеющего самое непосредственное к этой теме места - компании Google. И мы точно можем сказать, что он каждый день видит этот тулкит изнутри, так как вместе с командой его и разрабатывает.
Выпуск начинается под вой сирен лондонской полиции, ведущие даже в какой то момент начинают волноваться, что происходит что-то серьезное и в дверь к Матвею скоро начнут врываться суровые полисмены, а выпуск останется незаписанным.
(СПОЙЛЕР) Все обходится благополучно, и ничто не прерывает запись этого эпизода.
Что произошло с Compose за последний год? Насколько он готов к использованию в продакшене? Зачем нужен плагин к Kotlin компилятору? Использует ли Compose нативные компоненты Android SDK или рисует их на канвасе, как Flutter? И наконец, какие вообще есть отличия в подходах к декларативному UI у Jetpack Compose, SwiftUI, ReactNative и Flutter?
Ответы на все эти, и многие другие ХОРОШИЕ вопросы, из первых рук, не пропустите)
🎧 SoundCloud
🎧 Apple Podcasts
SoundCloud
взгляд изнутри
Когда-то давно, когда деревья были большими, а в Mobile People Talks еще не приглашали гостей, - ведущие уже поднимали тему Jetpack Compose.
Пришло время вернуться к ней, так как гостем этого эпизод
Пришло время вернуться к ней, так как гостем этого эпизод
#Gradle
Вышел Gradle 6.5
Новая версия системы сборки добавляет новую возможность - "File-system watching". Фактически теперь Gradle подписывается на изменения файлов с помощью API в ОС и получает уведомлением о таких событиях. Это позволят увеличить скорость инкрементальной сборки до 20%!
Помимо этого также появилось:
👉 Улучшенное управление приоритетами версий зависимостей
👉 Улучшение документации и новые примеры
👉 IDE теперь смогут убивать демонов при закрытии
Вышел Gradle 6.5
Новая версия системы сборки добавляет новую возможность - "File-system watching". Фактически теперь Gradle подписывается на изменения файлов с помощью API в ОС и получает уведомлением о таких событиях. Это позволят увеличить скорость инкрементальной сборки до 20%!
Помимо этого также появилось:
👉 Улучшенное управление приоритетами версий зависимостей
👉 Улучшение документации и новые примеры
👉 IDE теперь смогут убивать демонов при закрытии
#HuaweiMobileServices
Заглянуть в глаза дракону: 10 вопросов к Huawei Mobile Services
Ответ на 10 самых популярных вопросов о Huawei Mobile Services (HMS) - альтернативе Google Play Services (GMS) для их магазина App Gallery.
В статье вы найдете что включает в себя HMS, как протестировать, с чего начать интеграцию и чем заменять сервисы из GMS и Firebase на устройствах от Huawei.
Заглянуть в глаза дракону: 10 вопросов к Huawei Mobile Services
Ответ на 10 самых популярных вопросов о Huawei Mobile Services (HMS) - альтернативе Google Play Services (GMS) для их магазина App Gallery.
В статье вы найдете что включает в себя HMS, как протестировать, с чего начать интеграцию и чем заменять сервисы из GMS и Firebase на устройствах от Huawei.
Хабр
Заглянуть в глаза дракону: 10 вопросов к Huawei Mobile Services
Привет, Хабр! С мая 2019 года из-за санкций США мы остались без приложений и API для Android от Google. Из-за этого нашим устройствам грозило будущее без push-уведомлений, магазина и облачных сервисов. Естественно, мы не опустили руки, а разработали и запустили…
#Automation #Espresso #UIAutomator
"Лаборатория Касперского" и "Авито" представляют Avokado Project
Компании анонсируют старт сотрудничества в формате open-source между «Авито» и «Лабораторией Касперского» — Avokado. Главная цель этого проекта — разработать инструменты, которые упростят жизнь мобильных разработчиков.
Что есть уже сейчас:
👉 Kaspresso framework — фреймворк для написания UI-тестов, использующий Espresso и UI Automator.
👉 Avito Android Infrastructure — инфраструктура Android-приложений «Авито».
👉 Автотесты — процесс создания и запуска UI-тестов под Android.
Главная задача Avokado (на текущий момент) — создать продукт, который позволит развернуть автотесты в проекте за условные 15 минут
Узнать о проекте и помочь можно разными способами:
👉 Следить за обновлениями на сайте и в официальном чате.
👉 Проголосовать за темы, о которых хотелось бы почитать и послушать.
👉 Написать любому из участников команды, предложить помощь и свои идеи. Мы будем этому рады.
"Лаборатория Касперского" и "Авито" представляют Avokado Project
Компании анонсируют старт сотрудничества в формате open-source между «Авито» и «Лабораторией Касперского» — Avokado. Главная цель этого проекта — разработать инструменты, которые упростят жизнь мобильных разработчиков.
Что есть уже сейчас:
👉 Kaspresso framework — фреймворк для написания UI-тестов, использующий Espresso и UI Automator.
👉 Avito Android Infrastructure — инфраструктура Android-приложений «Авито».
👉 Автотесты — процесс создания и запуска UI-тестов под Android.
Главная задача Avokado (на текущий момент) — создать продукт, который позволит развернуть автотесты в проекте за условные 15 минут
Узнать о проекте и помочь можно разными способами:
👉 Следить за обновлениями на сайте и в официальном чате.
👉 Проголосовать за темы, о которых хотелось бы почитать и послушать.
👉 Написать любому из участников команды, предложить помощь и свои идеи. Мы будем этому рады.
Если хотите узнать больше про Avokado, тогда обратите внимание на интервью с разработчиками.
👉 О Kaspresso с Евгением Мацюком и Егором Курниковым
👉 Android инфраструктура Авито в Open Source с Дмитрием Ворониным
👉 О Kaspresso с Евгением Мацюком и Егором Курниковым
👉 Android инфраструктура Авито в Open Source с Дмитрием Ворониным
YouTube
"Kaspresso" с Евгением Мацюком и Егором Курниковым
Всем мы знаем что тесты писать нужно, но делают это не так много людей в проектах. Почему? Это считают сложным и дорогим. Разработчики Kaspresso уверены, что так быть не должно и сделали библиотеку, которая упрощает написание автотестов. Они пришли в гости…
#CodeQuality
Вышел KtLint 0.37.0
В новой версии статического анализатора кода нас ждет:
👉 Валидация Gradle Wrapper
👉 Поддержка Kotlin 1.3.70
👉 Исправление багов, улучшения существующих правил
Вышел KtLint 0.37.0
В новой версии статического анализатора кода нас ждет:
👉 Валидация Gradle Wrapper
👉 Поддержка Kotlin 1.3.70
👉 Исправление багов, улучшения существующих правил
GitHub
Release 0.37.0 · pinterest/ktlint
Thank you to Tapchicoma and romtsn for all their hard work on this release!
Added
Gradle wrapper validation (#684)
Experimental SpacingAroundDoubleColon rule (#722)
Experimental SpacingBetweenDecl...
Added
Gradle wrapper validation (#684)
Experimental SpacingAroundDoubleColon rule (#722)
Experimental SpacingBetweenDecl...
Выбираю какой доклад сделать для GDG Dev Fest. Что вы хотите услышать (подробности о докладах bit.ly/2MFfk3G )
Final Results
14%
Новинки Android 11
34%
Секреты AndroidX
32%
Koin 2 - Лучший DI для Android
12%
Бороздим просторы Android KTX
0%
Другая тема (пишите @krlrozov)
7%
Не участвую в опросе
#Розыгрыш
По итогам опроса от Android Broadcast разыграл билеты на конференции. Правила розыгрыша: генерировал 4 случайных числа. Последний - победитель.
👉 Билет на TechLead Conf 2020 Online (8-10 июня) выиграл(а) phoeniks346@gmail.com (видео с розыгрышем)
👉 Билет на Mobius Online (22-25 июня) выиграл(а) @tegorov (видео с розыгрышем)
По итогам опроса от Android Broadcast разыграл билеты на конференции. Правила розыгрыша: генерировал 4 случайных числа. Последний - победитель.
👉 Билет на TechLead Conf 2020 Online (8-10 июня) выиграл(а) phoeniks346@gmail.com (видео с розыгрышем)
👉 Билет на Mobius Online (22-25 июня) выиграл(а) @tegorov (видео с розыгрышем)
#Kotlin
Вышла вторая превью Kotlin 1.4
Мы стали еще на шаг ближе к Kotlin 1.4. В новой превью нам показали:
👉 Улучшения для Kotlin MPP: шарить код между разными таргетами стало проще
👉 Новый Project Wizard для создания проектов из IDE
👉 Новый режим компилятора для разработчиков библиотек с дополнительными проверками в Public API
👉 Поддержка использования Coroutine из Swift и Objective-C на Kotli/Native
👉 Улучшения в производительности Kotlin/Native
Вышла вторая превью Kotlin 1.4
Мы стали еще на шаг ближе к Kotlin 1.4. В новой превью нам показали:
👉 Улучшения для Kotlin MPP: шарить код между разными таргетами стало проще
👉 Новый Project Wizard для создания проектов из IDE
👉 Новый режим компилятора для разработчиков библиотек с дополнительными проверками в Public API
👉 Поддержка использования Coroutine из Swift и Objective-C на Kotli/Native
👉 Улучшения в производительности Kotlin/Native
#Storage
Android storage use cases and best practices
В Android документации появился новый раздел, который описывает лучшие практики по работе файлами на Android такие, как:
👉 Отображение всех фото/видео с устройства или из определенной папки
👉 Модификация медиа файлов
👉 Работа с фотографиями
👉 Работа с прочими типами файлов (не медиа)
Все это важно, так как уже совсем скоро в игру вступит Android 11 и Scoped Storage
Android storage use cases and best practices
В Android документации появился новый раздел, который описывает лучшие практики по работе файлами на Android такие, как:
👉 Отображение всех фото/видео с устройства или из определенной папки
👉 Модификация медиа файлов
👉 Работа с фотографиями
👉 Работа с прочими типами файлов (не медиа)
Все это важно, так как уже совсем скоро в игру вступит Android 11 и Scoped Storage
Android Developers
Android storage use cases and best practices | App data and files | Android Developers
#AndroidStudio
Explore the New Layout Inspector in Android Studio 4.0
Обновленный Layout Inspector из Android Studio 4.0 добавил множество новых возможностей:
👉 Просмотр изменения в реальном времени
👉 3D вид
👉 Возможность скрыть часть иерархии View
👉 Навигация по аттрибутам и ресурсам
👉 Поиск по свойствам view
Подробнее обо всем этом в статье
Explore the New Layout Inspector in Android Studio 4.0
Обновленный Layout Inspector из Android Studio 4.0 добавил множество новых возможностей:
👉 Просмотр изменения в реальном времени
👉 3D вид
👉 Возможность скрыть часть иерархии View
👉 Навигация по аттрибутам и ресурсам
👉 Поиск по свойствам view
Подробнее обо всем этом в статье
Medium
Explore the New Layout Inspector in Android Studio 4.0
Inspect your Android views’ hierarchies with Canary 4.0
#Kotlin
The hidden Kotlin gem you didn't think you'll love: Deprecations with ReplaceWith
Аннотация Deprecated в Kotlin позволяет не только пометить код, но и так же сразу добавить информацию на что его заменить (ReplaceWith), а также указать насколько важно заменить это deprecated API (DeprecationLevel).
Это эффективно работает в связке с IDEA и улучшается жизнь пользователей вашего API и коллег
The hidden Kotlin gem you didn't think you'll love: Deprecations with ReplaceWith
Аннотация Deprecated в Kotlin позволяет не только пометить код, но и так же сразу добавить информацию на что его заменить (ReplaceWith), а также указать насколько важно заменить это deprecated API (DeprecationLevel).
Это эффективно работает в связке с IDEA и улучшается жизнь пользователей вашего API и коллег
DEV Community
The hidden Kotlin gem you didn't think you'll love: Deprecations with ReplaceWith
This is one of the features in Kotlin that is enabled by IntelliJ IDEA and the Kotlin language workin...
#GraphQL
Introducing GraphQL Kotlin Client
GraphQL - технология, активно набирающая обороты в последнее время для коммуникации с сервером. Почему не REST? Потому что GraphQL позволяет клиентам самим указывать что им нужно получить
Недавно я имел удовольствие поработать с это технологией, но одновременно и разочароваться - хорошего решения с поддержкой Kotlin не было. Точнее оно только одно - Apollo GraphQL.
На арены вышел новый игрок - библиотека Kotlin GraphQL от Expedia. Больше подробностей в статье
Introducing GraphQL Kotlin Client
GraphQL - технология, активно набирающая обороты в последнее время для коммуникации с сервером. Почему не REST? Потому что GraphQL позволяет клиентам самим указывать что им нужно получить
Недавно я имел удовольствие поработать с это технологией, но одновременно и разочароваться - хорошего решения с поддержкой Kotlin не было. Точнее оно только одно - Apollo GraphQL.
На арены вышел новый игрок - библиотека Kotlin GraphQL от Expedia. Больше подробностей в статье
Medium
Introducing GraphQL Kotlin Client
New lightweight, type-safe GraphQL HTTP Client
#Architecture
Scalable Architecture For Big Mobile Projects
Важность архитектуры - позволять приложению развиваться и масштабироваться легко. В статье разбираются принципы и на примере экрана профиля разбирается как правильно подойти к масштабированию с помощью декомпозиции его на более мелкие компоненты
Scalable Architecture For Big Mobile Projects
Важность архитектуры - позволять приложению развиваться и масштабироваться легко. В статье разбираются принципы и на примере экрана профиля разбирается как правильно подойти к масштабированию с помощью декомпозиции его на более мелкие компоненты
Medium
Scalable Architecture For Big Mobile Projects
How to build an extensive application and make this an efficient workplace for dozens or hundreds of developers.
#Animation
AnimatedIcon: Infinity
Анимированные иконки положительно влияют на UX вашего приложения. В статье описано как самому создать векторную анимированную иконку с помощью
Так же в статье вы найдёте ссылки на библиотеки с готовыми наборами иконок, которые можно бесплатно использовать в своих приложениях, а у автора в блоге можно найти ещё несколько примеров использования
AnimatedIcon: Infinity
Анимированные иконки положительно влияют на UX вашего приложения. В статье описано как самому создать векторную анимированную иконку с помощью
AnimatedVectorDrawable
на примере значка бесконечности взамен стандартной круглой иконки загрузки.Так же в статье вы найдёте ссылки на библиотеки с готовыми наборами иконок, которые можно бесплатно использовать в своих приложениях, а у автора в блоге можно найти ещё несколько примеров использования
AnimatedVectorDrawable
.#GooglePlay #DynamicDelivery
Introducing Google Play Asset Delivery
Google Play расширяет возможности DynamicDelivery и теперь добавляет поддержка asset-ов, которое может содержать любые файлы, несвязанные с кодом: текстуры, шейдеры, звуки и др. Возможность будет полезна в первую очередь игроделам
Asset-ы могут быть загружены во время установки, в фоне после установки APK и по запросу. Новая функция уже поддерживается в Android Studio 4.0, Unreal engine и есть плагин для Unity.
Introducing Google Play Asset Delivery
Google Play расширяет возможности DynamicDelivery и теперь добавляет поддержка asset-ов, которое может содержать любые файлы, несвязанные с кодом: текстуры, шейдеры, звуки и др. Возможность будет полезна в первую очередь игроделам
Asset-ы могут быть загружены во время установки, в фоне после установки APK и по запросу. Новая функция уже поддерживается в Android Studio 4.0, Unreal engine и есть плагин для Unity.
Android Developers Blog
Introducing Google Play Asset Delivery
Posted by Dan Galpin, Developer Advocate
Start в Android
Когда: Четверг, 11 июня, 20.00 (GMT+3)
Где: YouTube канал Android Broadcast
Уже завтра возьмем интервью у автора проекта StartAndroid.ru Дмитрия Виноградова и обсудим онлайн образование:
👉 Можно ли выучить Android по видео
👉 Роль сообщества в образовании
👉 Нужен ли ментор?
👉 На какой стадии можно начать учить других
👉 Платные vs free курсы
Когда: Четверг, 11 июня, 20.00 (GMT+3)
Где: YouTube канал Android Broadcast
Уже завтра возьмем интервью у автора проекта StartAndroid.ru Дмитрия Виноградова и обсудим онлайн образование:
👉 Можно ли выучить Android по видео
👉 Роль сообщества в образовании
👉 Нужен ли ментор?
👉 На какой стадии можно начать учить других
👉 Платные vs free курсы
#Kotlin
Kotlin and Exceptions
Автор: Роман Елизаров
В статье разбирается отличия механизма exception в Java и Kotlin:
👉 как правильно работать с исключениями в Kotlin
👉 в каких случаях можно избежать
👉 как проектировать свое API аналогично подходу Kotlin
👉 роль sealed классов в обработке ошибок
👉 Kotlin Coroutine и exception
Kotlin and Exceptions
Автор: Роман Елизаров
В статье разбирается отличия механизма exception в Java и Kotlin:
👉 как правильно работать с исключениями в Kotlin
👉 в каких случаях можно избежать
👉 как проектировать свое API аналогично подходу Kotlin
👉 роль sealed классов в обработке ошибок
👉 Kotlin Coroutine и exception
Medium
Kotlin and Exceptions
What are Kotlin Exceptions and how should you use them?