Roman Elizarov is the new Project Lead for Kotlin
Роман Елизаров возглавит проект Kotlin. Но для меня новость одновременно и грустная - Андрей Бреслав после 10 лет работы над Kotlin уходит из команды.
Kotlin остается в надежных руках. Мне выдалась возможность пообщаться с Романом лично на Kotlin Conf'19, и я был в восторге! Роман это человек, который возглавлял Coroutine в Kotlin и подарил уже много прекрасных вещей в нем.
Андрей от всей команды Android Broadcast большое спасибо вам за язык, который подарили нам. Вы в нашем ❤️ навсегда!
Роман Елизаров возглавит проект Kotlin. Но для меня новость одновременно и грустная - Андрей Бреслав после 10 лет работы над Kotlin уходит из команды.
Kotlin остается в надежных руках. Мне выдалась возможность пообщаться с Романом лично на Kotlin Conf'19, и я был в восторге! Роман это человек, который возглавлял Coroutine в Kotlin и подарил уже много прекрасных вещей в нем.
Андрей от всей команды Android Broadcast большое спасибо вам за язык, который подарили нам. Вы в нашем ❤️ навсегда!
#Kotlin
Вышел Kotlin 1.4.20
В новой версии языка вы найдете:
👉 Kotlin Android Extensions (synthetic views) плагин теперь deprecated, а Parcelize выделился в отдельный, независимый плагин org.jetbrains.kotlin.plugin.parcelize
👉 Множество улучшений и багфиксов в компиляторе
👉 Улучшения Kotlin плагина для IDE
👉 Поддержка Gradle configuration cache
Вышел Kotlin 1.4.20
В новой версии языка вы найдете:
👉 Kotlin Android Extensions (synthetic views) плагин теперь deprecated, а Parcelize выделился в отдельный, независимый плагин org.jetbrains.kotlin.plugin.parcelize
👉 Множество улучшений и багфиксов в компиляторе
👉 Улучшения Kotlin плагина для IDE
👉 Поддержка Gradle configuration cache
#GooglePlay #AppBundle
New Android App Bundle and target API level requirements in 2021
В 2021 нас ждут следующие требования для наших приложений в Google Play:
👉 Target API Level 30 (Android 11)
👉 Миграция на Android App Bundle и Play App Signing для всех новых приложений
👉 OBBs файлы больше не будут поддерживаться. Используйте Play Asset Delivery или Play Feature Delivery
👉 Instant App должны мигрировать на формат instant-enabled app bundles.
Изменения заденут все существующие приложения с августа 2021, исключением являются существующие приложения, которые требования не заденут, либо распространяются только на будущие обновления.
New Android App Bundle and target API level requirements in 2021
В 2021 нас ждут следующие требования для наших приложений в Google Play:
👉 Target API Level 30 (Android 11)
👉 Миграция на Android App Bundle и Play App Signing для всех новых приложений
👉 OBBs файлы больше не будут поддерживаться. Используйте Play Asset Delivery или Play Feature Delivery
👉 Instant App должны мигрировать на формат instant-enabled app bundles.
Изменения заденут все существующие приложения с августа 2021, исключением являются существующие приложения, которые требования не заденут, либо распространяются только на будущие обновления.
#Location #Android11
Tips for getting your app approved for background location access
Google напоминает об усилении требований для проведения ревью приложений, который получают доступ к местоположению пользователя в фоне. Вам нужно подать заявку на одобрение вашего приложения для такого либо убрать этот функционал из вашего приложения.
Для существующие приложений, опубликованных до 16 апреля 2020 года увеличили срок - вместо января 2021 это стал конце марта 2021 (+2.5 месяца).
Tips for getting your app approved for background location access
Google напоминает об усилении требований для проведения ревью приложений, который получают доступ к местоположению пользователя в фоне. Вам нужно подать заявку на одобрение вашего приложения для такого либо убрать этот функционал из вашего приложения.
Для существующие приложений, опубликованных до 16 апреля 2020 года увеличили срок - вместо января 2021 это стал конце марта 2021 (+2.5 месяца).
#DependencyInjection
Вышел Dagger 2.30
👉 Hilt депрекейтнул ApplicationComponent и вскоре его удалят и заменят SingletonComponent
👉 Hilt стал поддерживать
👉 Dagger по умолчанию теперь использует
👉 Исправление багов
Вышел Dagger 2.30
👉 Hilt депрекейтнул ApplicationComponent и вскоре его удалят и заменят SingletonComponent
👉 Hilt стал поддерживать
@BindValue val
👉 Dagger по умолчанию теперь использует
experimentalDaggerErrorMessages
. Подробности о новом формате вывода ошибок здесь👉 Исправление багов
#UI #ConstraintLayout #MotionLayout #Animation
Началась работа над ConstraintLayout 2.1.0
👉 Новый тэг
👉 Возможность забивать Constraints на несколько файлов. Подробнее
👉 Возможность копировать Constraints с переопределением атрибутов. Подробности
👉 Возможность поворачивать View в
👉 Поддержка матричных преобразований для
👉 Поддержка изменений с значение в шагах. Подробности
👉 Поддержка кастомных атрибутов в
Началась работа над ConstraintLayout 2.1.0
👉 Новый тэг
<ViewTransition>
для анимирование одной View в MotionLayout. Подробнее👉 Возможность забивать Constraints на несколько файлов. Подробнее
👉 Возможность копировать Constraints с переопределением атрибутов. Подробности
👉 Возможность поворачивать View в
<OnSwipe>
. Подробности👉 Поддержка матричных преобразований для
ImageFilterView/Button
. Подробности👉 Поддержка изменений с значение в шагах. Подробности
👉 Поддержка кастомных атрибутов в
KeyTrigger
. Подробности#Coroutines
Корутины и синхронизация. Лучше не смешивать
Kotlin Coroutines - это не просто новый способ работы с множеством потоков в другом стиле (аля RxJava), а подход, отличающийся принципиально по выполнению кода между suspension points.
В статье автор делится почему synchronized не работает для Coroutine и как решить такую задачу для этого подхода.
Корутины и синхронизация. Лучше не смешивать
Kotlin Coroutines - это не просто новый способ работы с множеством потоков в другом стиле (аля RxJava), а подход, отличающийся принципиально по выполнению кода между suspension points.
В статье автор делится почему synchronized не работает для Coroutine и как решить такую задачу для этого подхода.
#Kotlin #Coroutines
Shared flows, broadcast channels от Романа Елизарова
В статье рассказывается и о причинах появления
👉 Channel, Flow
👉 ConflatedBroadcastChannel и его замене StateFlow
👉 SharedFlow, пришедший на замену BroadcastChannel
Какая роль уготована
Все вариации broadcast channel ждет deprecatated статус и удаление из библиотеки
Shared flows, broadcast channels от Романа Елизарова
В статье рассказывается и о причинах появления
👉 Channel, Flow
👉 ConflatedBroadcastChannel и его замене StateFlow
👉 SharedFlow, пришедший на замену BroadcastChannel
Какая роль уготована
Channel
? Они все также останутся, но будут служить для реализации взаимодействия между Coroutine и реализации сложных операторов во Flow
.Все вариации broadcast channel ждет deprecatated статус и удаление из библиотеки
#AndroidBroadcast
Разработка для устройств
Среда 19:00 GMT+3. Партнер выпуска - SberDevices
Не так давно Сбер показал свою трансформацию и представил умные устройства с виртуальными ассистентами. Антон Дудаков расскажет нам о особенностях разработки приложений, которые обеспечивают работы собственной вариации Android на этих устройствах.
Узнаем много интересного из механизмов работы Android ОС, какого быть без каких либо сервисов (GMS или HMS) на устройстве и иметь полную свободу
Гость выпуска - Антон Дудаков, Team Lead встраиваемых Android приложенек в SberDevices. Работал Team Lead в стартапе Storia.me и Яндекс.Авто. Соведущий Android Dev Podcast
Разработка для устройств
Среда 19:00 GMT+3. Партнер выпуска - SberDevices
Не так давно Сбер показал свою трансформацию и представил умные устройства с виртуальными ассистентами. Антон Дудаков расскажет нам о особенностях разработки приложений, которые обеспечивают работы собственной вариации Android на этих устройствах.
Узнаем много интересного из механизмов работы Android ОС, какого быть без каких либо сервисов (GMS или HMS) на устройстве и иметь полную свободу
Гость выпуска - Антон Дудаков, Team Lead встраиваемых Android приложенек в SberDevices. Работал Team Lead в стартапе Storia.me и Яндекс.Авто. Соведущий Android Dev Podcast
Stop generating the BuildConfig on your Android modules
Android Gradle Plugin имеет возможность отключения генерации ресурсов и
Как отключить? Добавляем в
Автор и вовсе предлагает отключить генерацию по умолчанию и включать ее только там где это необходимо. Сделать это можно добавлением в
Android Gradle Plugin имеет возможность отключения генерации ресурсов и
BuildConifg
. Это очень полезная функция для библиотек. Помимо прочего этого избавит вас от дополнительного шага во время компиляции кода.Как отключить? Добавляем в
build.gradle
:android {
buildFeatures {
buildConfig = false
}
}
Автор и вовсе предлагает отключить генерацию по умолчанию и включать ее только там где это необходимо. Сделать это можно добавлением в
gradle.properties
свойства android.defaults.buildfeatures.buildconfig=false
#Kotlin
The future of Kotlin Android Extensions
С Kotlin 1.4.20 начался цикл deprecation Android Kotlin Extensions Gradle plugin, который содержит в себе
The future of Kotlin Android Extensions
С Kotlin 1.4.20 начался цикл deprecation Android Kotlin Extensions Gradle plugin, который содержит в себе
synthetics views
и Parcelize
. Google рассказывает что пора мигрировать на View Binding for Android, а Parcelize был выделен в отдельный Gradle плагин kotlin-parcelize
.#AppBundle #GooglePlay
MAD Skills — Become an Android App Bundle expert
Google провела серию эпизодов и Q&A по теме App Bundle и все касательно него: Play App Signing, Play Feature Delivery, тестирование и др.
Множество видео вы найдете в плейлисте App Bundles - MAD Skills
MAD Skills — Become an Android App Bundle expert
Google провела серию эпизодов и Q&A по теме App Bundle и все касательно него: Play App Signing, Play Feature Delivery, тестирование и др.
Множество видео вы найдете в плейлисте App Bundles - MAD Skills
#Coroutines
Substituting Android’s LiveData: StateFlow or SharedFlow?
Руководство как избавиться на всех слоях
Substituting Android’s LiveData: StateFlow or SharedFlow?
Руководство как избавиться на всех слоях
Clean Architecture
от LiveData
и заменить на Flow
. В статье также описывается подробные примеры с кодом и объяснения в какой Flow
конвертировать LiveData
.#Kotlin
Parcelable implementation generator
В Kotlin 1.4.20
Оно совсем короткое, показывая пример использования, а также более сложные случаи сериализации различных типов данных.
Parcelable implementation generator
В Kotlin 1.4.20
@Parcelize
выделился в отдельный и он уже успел получить руководство в официальной документации по Android. Оно совсем короткое, показывая пример использования, а также более сложные случаи сериализации различных типов данных.
#Testing
5 New Test Automation Frameworks for Android (2020)
В Android бум UI тестирования и множество проектов, которые расширяют возможности Espresso. В статье вы найдете информацию о самых популярных, а именно:
👉 Kaspresso - тестовый Фреймворк от Kaspersky, построенный на основе Espresso, Kakao, UIAutomator
👉 Barista - большое расширение Espresso
👉 BusyBee - еще одно расширение Espresso
👉 Repeato - NoCode test automation framework for Android
5 New Test Automation Frameworks for Android (2020)
В Android бум UI тестирования и множество проектов, которые расширяют возможности Espresso. В статье вы найдете информацию о самых популярных, а именно:
👉 Kaspresso - тестовый Фреймворк от Kaspersky, построенный на основе Espresso, Kakao, UIAutomator
👉 Barista - большое расширение Espresso
👉 BusyBee - еще одно расширение Espresso
👉 Repeato - NoCode test automation framework for Android
#Compose #Jetpack
Getting our apps ready for Jetpack Compose
Jetpack Compose - без сомнения самая горячая тема в мире Android разработки за последний год. С выходом стабильной версии эта технология изменит будние разработчик приложения по Android и привычные подходы.
Уже можно начать готовиться к декларативному UI, приготовив свои приложения и голову к:
👉 Коцепция состояния
👉 Unidirectional data flow
👉 Отделение UI компонентов от бизнес логики
Потихоньку уже можно готовиться к адаптации Jetpack Compose к себе в приложения, ведь это будущее уже не за горами. В статье вы найдете советы и подробности этого процесса
Getting our apps ready for Jetpack Compose
Jetpack Compose - без сомнения самая горячая тема в мире Android разработки за последний год. С выходом стабильной версии эта технология изменит будние разработчик приложения по Android и привычные подходы.
Уже можно начать готовиться к декларативному UI, приготовив свои приложения и голову к:
👉 Коцепция состояния
👉 Unidirectional data flow
👉 Отделение UI компонентов от бизнес логики
Потихоньку уже можно готовиться к адаптации Jetpack Compose к себе в приложения, ведь это будущее уже не за горами. В статье вы найдете советы и подробности этого процесса
Используете ли вы Hilt в своих проектах?
Anonymous Poll
11%
Да
68%
Нет
13%
Что это?
7%
Не участвую в опросе
#DependencyInjection
Migrating from Dagger to Hilt — Is it worth it?
Hilt предназначен упростить работу с Dagger в Android, но почему-то не все спешат переходить на него, а именно:
👉 Упростить Inject в конструкторы
👉 Упростить тестирование, с помощью более легкой замены Dagger модулей и прокалывания зависимостей в граф
👉 Стандартные Dagger компоненты для основных компонентов приложения
Мне лично очень не хватает поддержки Inject в конструкторы
Migrating from Dagger to Hilt — Is it worth it?
Hilt предназначен упростить работу с Dagger в Android, но почему-то не все спешат переходить на него, а именно:
👉 Упростить Inject в конструкторы
ViewModel
и различные Worker
из WorkManager
👉 Упростить тестирование, с помощью более легкой замены Dagger модулей и прокалывания зависимостей в граф
👉 Стандартные Dagger компоненты для основных компонентов приложения
Мне лично очень не хватает поддержки Inject в конструкторы
Fragment
#Localization
The Ultimate Guide to Android App I18n and L10n
С поддержкой множества языков в современных приложениях приходится сталкиваться множеству разработчиков мобильных приложений.
Статья представляет из себя полное руководство i18n и l10n для правильной адаптации продуктов под новые регионы, а именно:
👉 Путаница в понятиях
👉 Настройка проекта
👉 Организация строковых ресурсов
👉 Получение/задание локали
👉 XLIFF
👉 Plurals
👉 Форматирование даты/времени и чисел
👉 Единицы измерения
👉 LTR и RTL
👉 Псевдолокализации - специальный локали
The Ultimate Guide to Android App I18n and L10n
С поддержкой множества языков в современных приложениях приходится сталкиваться множеству разработчиков мобильных приложений.
Статья представляет из себя полное руководство i18n и l10n для правильной адаптации продуктов под новые регионы, а именно:
👉 Путаница в понятиях
👉 Настройка проекта
👉 Организация строковых ресурсов
👉 Получение/задание локали
👉 XLIFF
👉 Plurals
👉 Форматирование даты/времени и чисел
👉 Единицы измерения
👉 LTR и RTL
👉 Псевдолокализации - специальный локали
en-XA
и ar-XB