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
#Tooling

The Sandbox Show: LeakCanary от Square

Доклад от Square о LeakCanary - библиотеки для поиска утечек памяти в Android приложениях. В рамках видео вы увидите как ищут утечки памяти в новом браузере от Firefox - Fenix и сможете познакомиться с тем как находить и анализировать утечки с LeakCanary.
#Meetup #Online

Tinkoff_IT_Weekly#8. Android

Когда: 27 мая 19.00 (GMT+3)
Где: Zoom

Митап от компании Тинькофф в котором вас ждут 2 доклада:
🤟 Мария Чернядиева из Тинькофф расскажет, чем отличается библиотека и sdk и в чем особенности ее разработки.
🤙 Сергей Боиштян из Avito поделится опытом управления, тестирования и подключения зависимостей к приложению в ci/cd команде
#Kotlin #Delegation

Delegation Pattern in Kotlin

Kotlin поддерживает шаблон Delegation и это позволяет вам не создавать сложных иерархий и упрощать переиспользование логики.

В статье разбирается как это сделать, а также пример как подход можно применить для упрощения работы с ViewBinding в Android
#AndroidAcademy #Minsk #Online

Android Academy Advanced. Optimization. Part 3
Когда: 19.00 28 мая (GMT+3)
Где: YouTube канал Andoid Academy Minsk

В Android имеется встроенная поддержка одной из распространенных систем управления базами данных - SQLite. Для этого в пакете android.database.sqlite определен набор классов, которые позволяют работать с базами данных SQLite.

Как правильно работать с SQLite и что нужно знать, чтобы получить максимальную производительность, все это расскажут на лекции.
#Java #Coroutines

Project Loom: виртуальные потоки в Java уже близко

Java в последние пару лет фигачит новые фичи быстрее чем стартапы, уже скоро и альтернатива Kotlin Coroutines будет в строю - виртульные потоки.

Виртуальные потоки принесут легковесную многопоточность в Java, но также решат проблемы разработчиков библиотек с concurrency
#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 минут

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