Size: a a a

Android Broadcast

2020 January 06
Android Broadcast
#новости

Новости о подкастах и видео от Android Broadcast можно будет найти на сайте AppTractor

Подружился с проектом AppTractor, авторы которого ежедневно делятся множеством новостей, статей и библиотек из мира мобильной разработки: Android, iOS, Flutter, React Native, Xamarin, а также пишут на темы околомобильной разработки. Очень часто я нахожу интересные стать на их сайте и делюсь ими с вами.

Также AppTractor является домом для ребят из Android Dev Podcast (там можно найти их страничку).
источник
Android Broadcast
#IDEA #Statistics

What's new in IntelliJ IDEA

IntelliJ IDEA - любимая многими IDE, каждый год выходит по 3 мажорных релиза. В JetBrains сделали обзор улучшений и новых фичей, которые были добавлены в 2019.
источник
Android Broadcast
#IDEA #Performance

Графики улучшений производительности IntelliJ IDEA за 2019 год
источник
Android Broadcast
источник
2020 January 07
Android Broadcast
источник
Android Broadcast
#Firebase

Firebase App Distribution - Distributing test releases of your apps

После покупки Google-ом Fabric все части платформы стали интегрироваться или заменяться сервисами в Firebase.

Этого постигло и сервис Fabric Beta на замену которому пришёл Firebase App Distribution. С помощью этого сервиса вы можете распространять тестовые сборки вашего Android или iOS приложения. Есть Gradle Plug-in, поддержка Fastlane и CLI.

В статье вы найдёте интро по сервису и как настроить его интеграцию в Gradle

Внимание: Fabric будет отключена 31 марта 2020 года и миграция для всех пользователей этого сервиса обязательна
источник
Android Broadcast
#UI

Edge-to-Edge - Android library for enabling edge-to-edge content and insetting views using simple Kotlin DSL

Android 10 стал активнее развивать идею «Edge-to-Edge», когда приложение занимает всю область экрана.

Одной из реализаций этого тренда стала поддержка навигации жестами и новые типы WindowInsets:
👉 MandatorySystemGestureInsets
👉 StableInsets
👉 SystemGestureInsets
👉 SystemWindowInsets
👉 TappableElementInsets

Однозначно стало все сложнее. Библиотека «Edge-to-Edge» призвана упростить работу с WindowInsets
источник
Android Broadcast
Вы можете подробнее изучить тему Android Insets из Android 10, посмотрев доклад Константина Цховребова - «Android Insets — deal with fears and get ready for Android Q»
источник
2020 January 09
Android Broadcast
#UI #Audio

AudioRecordView

Библиотека для визуализации аудио во время записи
источник
Android Broadcast
#Gradle

Decommissioning HTTP for Gradle Services

Начиная с 15 января 2020 Gradle сервисы станут доступны только по HTTPS. Если вдруг у вас что-то перестанет собираться - обратите внимание.

Что будет затронуто:
👉 Gradle Plugin Portal (plugins.gradle.org/m2)
👉 Gradle Distributions - сервис для загрузки Gradle Wrapper

Проверьте в своем проекте distributionUrl в файле gradle/wrapper/gradle-wrapper.properties
источник
Android Broadcast
#Tests #Intro

Серия статей которая делает вступление в типы тестирования на Android и с помощью каких инструментов их можно осуществлять

Статьи:
1️⃣  Типы тестов, пирамида, основные библиотеки и инструменты
2️⃣  Non-instrumented (они же Unit) тесты, Robolectrics
3️⃣  Instrumented тесты: UIAutomator, Espresso
4️⃣  "End-to-End" и ручное тестирование: Appium, типы "End-to-End" тестов
источник
Android Broadcast
У меня всегда была мечта сделать конференцию для Android разработчиков. Только по этой технологии и все что связано с ней. Но мир суров и на любую конференцию нужен бюджет и аудитория. Очень хочется узнать интересно было ли вам прийти на такую конференцию.

Давайте обсуждать в @android_broadcast_discussions
источник
Android Broadcast
Интересно вам сходить на конференцию по Android?
Окончательные результаты
31%
Да, но только бесплатно
35%
Да, готов заплатить (около 50$)
19%
Да, только за счет компании
7%
Нет
8%
Другое
Проголосовало: 380
источник
2020 January 10
Android Broadcast
#Kotlin #Operator

Companion object invoke operator overloading for default constructor argument in generic classes

Встречались ли вы с возможность, что вы можете создать объект интерфейса через конструктор? Спобов для этого 2:
👉 Создать функцию c именем интерфейса в том же пакете где лежит интерфейс (например так делается для List)
👉 Переопределить оператор invoke

В статье разбирается пример как invoke оператор помог задать дефолтное значение в конструкторе, в котором принимается generic параметр
источник
Android Broadcast
#JetpackCompose

A Deep Dive Into Jetpack Compose

"This article is not about how to use Jetpack Compose or its basics" - вот такой фразой начинается статья. В статье разбирается почему нам нужно заменить систему View и как это делается в Jetpack Compose
источник
2020 January 11
Android Broadcast
#Coroutines

Android Broadcast Podcast #4: "Coroutines Under The Hood" c Ильмиром Усмановым

Поговорили с Ильмиром Усмановым о устройстве Coroutine под капотом и о их будущем, а также о том какого работать в JetBrains над проектом, от которого миллионы разработчиков ждут покорения новых вершин.

Ильмис Усманов - разработчик Kotlin/JVM компилятора в JetBrains. За его плечами 6 лет опыта разработки компиляторов, 2 из которых - поддержка Coroutine в компиляторе. Также наш гость контрибьютил в ART (Android Runtime).

В выпуске вы узнаете:
- Как устроиться в JetBrains
- Как развлекаются программисты из JetBrains
- Coroutine в Jetpack Compose
- Почему релиз Jetpack Compose может затянуться
- Новый IR backend Kotlin компилятора
- Что будет в Kotlin 1.4 для Coroutine
- Jake Wharton исправляет байт-код от Kotlin/JVM
- Какие возможности могут появиться в Coroutine в будущем
- Улучшения в дебаггере IDEA для поддержки Coroutine
- Inline кода, благодаря которому Flow работают так быстро

Полезные ссылки:
👉 Coroutines Keep
👉 Доклад про inline Coroutine от Ильмира
👉 Kotlin Flow
👉 Kotlin Slack
👉 Kotlin Telegram
YouTube
"Под капотом у Kotlin Coroutine" с Ильмиром Усмановым@JetBrains
Поговорили с Ильмиром Усмановым о устройстве Coroutine под капотом и о их будущем, а также о том какого работать в JetBrains над проектом, от которого миллионы разработчиков ждут покорения новых вершин.

Ильмис Усманов - разработчик Kotlin/JVM компилятора в JetBrains. За его плечами 6 лет опыта разработки компиляторов, 2 из которых - поддержка Coroutine в компиляторе. Также наш гость контрибьютил в ART (Android Runtime).

В выпуске вы узнаете:
- Как устроиться в JetBrains
- Как развлекаются программисты из JetBrains
- Coroutine в Jetpack Compose
- Почему релиз Jetpack Compose может затянуться
- Новый IR backend Kotlin компилятора
- Что будет в Kotlin 1.4 для Coroutine
- Jake Wharton исправляет байт-код от Kotlin/JVM
- Какие возможности могут появиться в Coroutine в будущем
- Улучшения в дебаггере IDEA для поддержки Coroutine
- Inline кода, благодаря которому Flow работают так быстро

Полезные ссылки:
Coroutines Keep - https://github.com/Kotlin/KEEP/blob/master/proposals/coroutines.md
Доклад про inline Coroutine…
источник
Android Broadcast
#Kotlin

Safely accessing lateinit variables

Рецепт безопасного обращения к lateinit переменным в Kotlin, которое появилось в версии 1.2:
lateinit var fullName: String
   
if (::fullName.isInitialized) {
   print("Hi, $fullName")
}

Только не проще ли бы использовать nullable property и использовать null со старой доброй проверкой if (fullName != null).

Моя рекомендация - не стоит убегать от nullable значений, lateinit должно использовать только в случаях когда у вас инициализация происходит не в конструкторе, а в методе который вызывается сразу за ним, например Activity.onCreate(). Причем метод откуда приходит значения не должен быть асинхронным.

Заменить lateinit можно nullable property или делегатом lazy. А вообще используйте его только с Dagger в Android компонентах.
источник
Android Broadcast
#MotionLayout #Animation

Creating Onboarding Flow with MotionLayout

MotionLayout и визуальный редактор анимаций на его основе уже стучатся в дверь в Android Studio 4.0. В статье автор разбирает как с помощь нового Layout сделали красивую анимацию Onboarding с Bubble
источник
2020 January 13
Android Broadcast
#Kotlin #CodeQuality #Coroutines

Вышел Detekt 1.4.0

Вышла новая версия статического анализатора Kotlin кода Detekt 1.4.0 в которой появилась поддержка правил для Coroutine. Полный список изменений:
🔥 Новая категория правил coroutines
🔥 Новое правило GlobalCoroutineUsage, которое отслеживает использование GlobalScope. По умолчанию выключено
🔥 Новое правило RedundantSuspendModifier, которое проверят,что suspend модификатор указан только там, где это нужно. Например, у функций у которых есть вызов других suspend функций
👉 KtLint обновлён до 0.36.0
👉 Свойства ignoreOverriddenFunction и ignoreOverriddenFunctions для некоторых правил унифицированы в одно - ignoreOverridden
👉 Улучшен анализ кода некоторыми правилами
👉 Исправление багов
источник
Android Broadcast
#Gradle

Optional dependencies are not optional

Gradle в версии номер 6.0 добавил много возможностей для управления зависимостями. Также этому помогло введение в боевой режим Gradle Module Metadata, который позволяет описывать больше информации по сравнению с pom.xml.

В статье разбирается подключение опциональных зависимостей и подключать опциональные зависимости для необходимых функций вашего приложения
источник