Android Broadcast
14.2K subscribers
3.52K photos
340 videos
11 files
5.89K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @ab_manager

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#AndroidStudio

Вышла новая мажорная версия Android Studio 4.0

В новой версии очень много плюшек:
🔥 Долгожданный Motion Editor
🔥 Live Layout Inspector
🔥 Layout Validation - возможность посмотреть как ваш UI выглядит на разных экранах и разных конфигурациях
🔥 Анализ Gradle сборок - понять на какой стадии сборки и где у вас проблемы теперь можно проще
🔥 Улучшенный CPU Profiler
🔥 Автодополнение в конфигурациях R8
🔥 Поддержка Gradle Kotlin Script
🔥 Обновление до IntelliJ IDEA 2019.3
🔥 Desugaring API из Java 8 в D8 и R8 - теперь все новые API с более поздних версий Android и фиксы станут доступны для старых
🔥 Dynamic Features: Feature-on-feature dependencies
🔥 Можно отключать feature сборки такие как AIDL, DataBinding и др
🔥 Dependencies metadata - специальная информация о зависимостях, которая используется перед публикацией приложения в Google Play для анализа
...много всего полезного еще

Много всего нового нас ждет. Буквально со дня на день Android Studio 4.1 станет beta и мы увидим Canary версии 4.2
Чистыи код - Именование.pdf
1 MB
Умение давать удачные имена субъектам кода требует высокого уровня владения описательным навыком и единого культурного и информационного фона в команде. Сформулировать единые принципы именования и придерживаться их важно - это обеспечивает единообразие и предсказуемость кодовой базы.
#Gradle

Stop using Gradle buildSrc. Use composite builds instead

buildSrc - это специальная директория в Gradle проекте в которой вы можете писать код, доступный в ваших скриптах. Проблема только в том, что любое изменение кода в buildSrc приводит к сборке проекта с нуля (без кэша) ☹️.

В статье автор рассматривает влияние buildSrc в цифрах и предлагает использовать Gradle Compose builds как альтернативу
#Gradle

Как подружиться с Gradle
Продолжительность 1.5 часа

Gradle трудится для нас каждый день, а мы о нем не всё знаем. Не справедливо! Разработчик из Redmadrobot решил исправить это и сделал классный большой обзор этой системы сборки
#Material #UI

Вышла Material 1.2.0 Beta

Уже на подходе новая версия библиотеки реализация Material Design 2.0 на Android. Если вы не боитесь beta статуса, то сможете получить:
👉 Новый компонент Slider
👉 Поддержка Material Motion System. Теперь анимации будут "из коробки" поддерживаться библиотекой
👉 Новый компонент ShapeableImageView
👉 Улучшения существующих виджетов
👉 Улучшена в Accessibility
👉 Улучшения MaterialShapeDrawable
👉 Множество исправлений багов и мелких улучшений
#Architecture

Масштабируемая архитектура для больших мобильных приложений

Статья про то, как лучше делать архитектуру мобильных приложений. Это не про выбор MVI, MVVM, MVP или чего-то еще, а про то каким принципам стоит следовать, разделяя приложение на компоненты.
👉 Единая ответственность
👉 Простота имплементации
👉 Независимость
👉 Анонимность коммуникаций
👉 Единое состояние UI
👉 Unidirectional data flow
👉 Отключаемость (feature toggles)

В статье также описывается "State Машина" и "Server Driven UI"
#UserSession

Managing User Sessions In Android

Большинство приложений сталкиваются с авторизацией пользователя, следовательно, есть и управление сессией пользователя: хранение данных, токенов для работы с сервером и прочее.

Автор статьи рассказывает, что ему надоело реализовывать управление сессий в каждом приложении и он написал небольшую библиотеку для этого про которую он и рассказывает.
#Coroutines #Networking

Do I need to call suspend functions of Retrofit and Room on a background thread?

Библиотека Retrofit поддерживает объявление suspend функций, но многие совершают ошибку и при вызове таких функций вызывают их на фоновом потоке. Этого не нужно делать! Хотите узнать почему? Читайте статью.
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
#Gradle

Вышел 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.
#Automation #Espresso #UIAutomator

"Лаборатория Касперского" и "Авито" представляют Avokado Project

Компании анонсируют старт сотрудничества в формате open-source между «Авито» и «Лабораторией Касперского» — Avokado. Главная цель этого проекта — разработать инструменты, которые упростят жизнь мобильных разработчиков.

Что есть уже сейчас:
👉 Kaspresso framework — фреймворк для написания UI-тестов, использующий Espresso и UI Automator.
👉 Avito Android Infrastructure — инфраструктура Android-приложений «Авито».
👉 Автотесты — процесс создания и запуска UI-тестов под Android.

Главная задача Avokado (на текущий момент) — создать продукт, который позволит развернуть автотесты в проекте за условные 15 минут

Узнать о проекте и помочь можно разными способами:
👉 Следить за обновлениями на сайте и в официальном чате.
👉 Проголосовать за темы, о которых хотелось бы почитать и послушать.
👉 Написать любому из участников команды, предложить помощь и свои идеи. Мы будем этому рады.
#CodeQuality

Вышел KtLint 0.37.0

В новой версии статического анализатора кода нас ждет:
👉 Валидация Gradle Wrapper
👉 Поддержка Kotlin 1.3.70
👉 Исправление багов, улучшения существующих правил
Выбираю какой доклад сделать для GDG Dev Fest. Что вы хотите услышать (подробности о докладах bit.ly/2MFfk3G )
Final Results
14%
Новинки Android 11
34%
Секреты AndroidX
32%
Koin 2 - Лучший DI для Android
12%
Бороздим просторы Android KTX
7%
Не участвую в опросе
#Розыгрыш

По итогам опроса от Android Broadcast разыграл билеты на конференции. Правила розыгрыша: генерировал 4 случайных числа. Последний - победитель.

👉 Билет на TechLead Conf 2020 Online (8-10 июня) выиграл(а) [email protected] (видео с розыгрышем)

👉 Билет на Mobius Online (22-25 июня) выиграл(а) @tegorov (видео с розыгрышем)
#Storage

Android storage use cases and best practices

В Android документации появился новый раздел, который описывает лучшие практики по работе файлами на Android такие, как:
👉 Отображение всех фото/видео с устройства или из определенной папки
👉 Модификация медиа файлов
👉 Работа с фотографиями
👉 Работа с прочими типами файлов (не медиа)

Все это важно, так как уже совсем скоро в игру вступит Android 11 и Scoped Storage
#AndroidStudio

Explore the New Layout Inspector in Android Studio 4.0

Обновленный Layout Inspector из Android Studio 4.0 добавил множество новых возможностей:
👉 Просмотр изменения в реальном времени
👉 3D вид
👉 Возможность скрыть часть иерархии View
👉 Навигация по аттрибутам и ресурсам
👉 Поиск по свойствам view

Подробнее обо всем этом в статье