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

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

РКН https://abdev.by/rkn_tg_ab
Download Telegram
В Telegram есть возможность соединить канал с чатом, только у реализации есть одна проблема - все из канала начнется сыпаться в чат и пиниться. Из-за этого я не делал этого, но решил спросить вашего мнения.
Final Results
26%
Подключать
74%
Не стоит
И сражу же второй вопрос - стоит ли выделить новости о Android Broadcast (нововведения, анонсы, новые выпуски подкастов и видео) в отдельный канал? Сейчас получается мешак в этом канале и собственный контент канала теряется между ними
Final Results
20%
Хорошая идея
7%
Отдельный канал и дублировать здесь
62%
Как сейчас хорошо
11%
Мне все равно
#DependencyInjection

Koin – это Dependency Injection или Service Locator?

Можно ли Koin назвать Dependency Injection? В статье вы найдете разбор "по понятиям" для Koin.

Со своей стороны могу сказать одно - Koin упростил мне работу с DI и неважно к какому классу его отнесут.
И последний вопрос на сегодня - слушаете ли вы Android Broadcast Podcast? Не важно в каком формате (SoundCloud, YouTube, Google Podcast или др.)
Final Results
38%
Слушаю 😎♥️
14%
Первый раз слышу о таком
17%
Не слушаю подкасты вовсе 🔥
13%
Не слушаю Android Broadcast Podcast
2%
Слушал(а), не понравилось ☹️
7%
Не слушаю по другим причинам
8%
Покажите ответы ☹️
#CodeQuality #Kotlin

Speeding up the Detekt in a multi-project Gradle build

Рецепт для ускорения проверки Kotlin кода с помощью Detekt для тех кто использует его в много модульном проекте.

На своем проекте автор смог добиться ускорения в 10 раз (64 сек -> 6 сек)! Проект из 56 модулей и примерно 7000 тысяч строк
#RxJava

Вышла RxJava 3.0

На день всех влюбленных нам решили подарить новую мажорную версию RxJava.

Что нового:
👉 Минимальная версия поддерживаемая версия Java теперь 8 + добавилось множество возможностей
👉 Улучшена работа с ошибками
👉 ConnectableFlowable и ConnectableObservable - поддержка множества подписчиков
👉 Возможность приостанавливать Flowable
👉 Улучшение работы операторов
👉 Улучшение stacktrace при ошибках

Подробности изменений в API
Полный список изменений можно найти здесь

RxJava 2 переходит в режим поддержки и в нее будут добавляться только багфиксы.
​​#Podcast #Gradle #Performance

Android Broadcast Podcast #7: "На старт! Внимание! Build!" Ускоряем Gradle co Степаном Гончаровым

Нет в Android мире разработчика, который бы не сталкивался с Gradle, и особенно с тем что она имеет свойство выполняться долго.

Как ускорить сборку проекта? Какую "магию" применяют в больших проектах, где количество строк исчисляется не одной сотней тысяч? Помогают ли в этом рекомендации Gradle? Может пора переходить на Bazel? Обо всем этом мы поговорили с гостем - Степаном Гончаровым.

Степан занимается мобильной разработкой более 10 лет. В настоящий момент Engineering Manager в Grab. Занимается CI/CD тулингом, билд таймом и продуктивностью 200+ мобильных разработчиков. Bazel фанбой. Организатор Kotlin User Group Singapore. Последние два Mobius рассказывает о работе с Gradle.

Полезные ссылки:
👉 Советы по улучшению производительность от команды Gradle
👉 Доклад Степана "Gradle pipeline optimization: Beyond basics"
👉 Kapt и разные опции
👉 Официальный сайт Bazel
👉 Пример настройки Bazel и Android
👉 Плагин для подключения Android SDK в Java модуль
👉 Плагин для подключения AAR в Java модуль

Это первый выпуск, где ведущий стал использовать новый микрофон. Качество звука стало лучше.

Спасибо Александру Марцинкевичу за помощь в подготовке выпуска
Должны ли сведения о ЗП открыты внутри компании и за ее пределами?
Anonymous Poll
42%
Да, и поделился бы своими
13%
Да, но свои не дам )
45%
Пусть все будет покрыто тайной
#Новости

Проанализировав результаты опроса и то что я хочу делиться новостями и идеями о развитии проекта, я решил что лучше сделать следующее:
👉 В основной канал будут попадать только новости, связанные с Android контентом, а не о проекте полностью
👉 В новом канале с новостями будет все что описано выше + специфичные опросы касательно развития, больше новостей о том над чем работаю сейчас.

Это не коем образом не повлияет в негативную сторону для текущего канала и позволит давать мне больше информации о развитии проекта
#RecyclerView

Square Cycler – a RecyclerView API

Взгляд от разработчиков из Square (авторы OkHttp, Retrofit, Picasso, Dagger 1) на создание списков на основе RecyclerView. Основные принципы:
👉 Декларативный подход
👉 Строгая типизация
👉 Поддержка популярных возможностей: edge decoration, sticky headers и др.
👉 Легкий способ создания элементов
#Kotlin #CompilerPlugin #KotlinIR

Exploring Kotlin IR

Kotlin Intermediate Representation (IR) - это специальный формат, в который превращается весь Kotlin код, перед тем как будет скомпилирован в конечный код (JVM, JS или Native).

Возможно вы уже слышали про плагины Kotlin компилятор, которые дадут возможность менять IR и создать фреймворки и библиотеки невиданные раннее. Фактически плагины - это Java Annotation Processor на стеройдах и работающий за пределами JVM!

Так вот доступ к плагинам компилятора уже можно получить. Он не имеет документации и нестабилен, но уже давно используется командой Kotlin и сторонними разработчиками, о чем и идет речь в статье.
#Fragment

Android Fragments: FragmentFactory

FragmentFactory - это API, которое позволит вам избавиться от ограничений с созданием Fragment. Раньше вам обязательно было именно конструктор по умолчанию, но теперь вы можете:
👉 Не иметь конструктора по умолчанию
👉 Выполнять транзакции Fragment, без созданных экземпляров, а только по классу Fragment
👉 Более простым способом создавать Fragment с помощью Dagger 😁
В дополнение к Patreon появилась еще одна возможность поддержать Android Broadcast - через сервис Boosty.

Почему это важно? Это позволит сервису развиваться так как идей множество. Главная из них - обучающие видео по разным популярным темам и публикация их на YouTube.

К сожалению, производство видео тяжелый и затратный процесс т.к. требует качественного монтажа и оборудования. Ваша помощь сделает это более реалистичным.
#Dagger #Modularization

Using Dagger in multi-module apps

Официальное руководство по использованию Dagger в многомодульных проектах. Руководство также покрывает использование Dynamic Feature. Ну и как же без лучших практик.
#Gradle

Вышел Gradle 6.2

Новая версия системы сборки привнесла следующие улучшения:
👉 Проверка зависимостей по контрольным суммам и подписи
🔥 Возможность шарить кэш зависимостей
👉 Возможность описания что зависимости должны получаться только из заданного репозитория
👉 Проверка Gradle Wrapper

Конечно же в версии еще много маленьких изменений, багфиксов, улучшений документации и пр.
#AndroidAcademy #Minsk

Android Academy Minsk Advanced Topic #2 Architecture

Одна из самых важных тем в создание современных приложениях будет раскрыта уже через неделю на очередной лекции от Android Academy Minsk. Вы узнаете про принципы построения хорошей архитектуры, Clean Architecture, проблемы архитектуры Android приложений, модуляризация проектов.

Когда: 19.00 24 февраля
#Опрос #Testing

Опрос по тестированию в мобильной разоработке

Авторы Kaspresso и Avito-android решили провести опрос про тестирование мобильных продуктов.

Прохождение опроса займет у вас всего пару минут и поможет сделать тестирование на мобильных платформах лучше.
#Jetpack #Fragment

How AndroidX changes the way we work with Activities and Fragments

Сбор всех важных изменений в Fragment из Jetpack:
👉 Задание layout в конструкторе
👉 OnBackPressedDispatcher - Обработка нажатия back
👉 SavedStateRegistry - возможность сохранения состояния за рамками Fragment
👉 FragmentFactory
👉 FragmentScenario
👉 fragment-ktx API
👉 FragmentContainerView - исправление работы с анимациями при переключение Fragment
#OkHttp #Network

Вышла OkHttp 4.4.0

Что нового:
👉 Новый артефакт bill of materials (BOM) для OkHttp, который позволит вам не задавать версию и держать все библиотеки для OkHttp в нужных версиях
👉 Исправление багов и улучшения