#Firebase
Firebase Experimental Extensions
Firebase активно развивается и добавляет новые расширения, которые вы можете добавить в свой Firebase проект и использовать в мобильных приложения
Представлены новые экспериментальные расширения
👉 Короткие ссылки на основе Firebase Dynamic Links
👉 Выполнение анализа тональности текста в Firestore
👉 Adding custom claims to Firebase Auth users
👉 Периодические записи в Firestore
Помимо прочего стало доступно расширение для переводов текста
Firebase Experimental Extensions
Firebase активно развивается и добавляет новые расширения, которые вы можете добавить в свой Firebase проект и использовать в мобильных приложения
Представлены новые экспериментальные расширения
👉 Короткие ссылки на основе Firebase Dynamic Links
👉 Выполнение анализа тональности текста в Firestore
👉 Adding custom claims to Firebase Auth users
👉 Периодические записи в Firestore
Помимо прочего стало доступно расширение для переводов текста
Into the Sunset on May 1st: Bintray, JCenter, GoCenter, and ChartCenter
JFrog закрывает кучу своих сервисов, включая Bintray. Практически все современные библиотеки заливались на этот сервис, так что у авторов много работы, ведь в конце февраля опубликовать новые не получится. Теперь Maven Central ?
JFrog закрывает кучу своих сервисов, включая Bintray. Практически все современные библиотеки заливались на этот сервис, так что у авторов много работы, ведь в конце февраля опубликовать новые не получится. Теперь Maven Central ?
#Kotlin
Вышел Kotlin 1.4.30
Новая минорная версия языка привнесла множество изменений о которых вы можете узнать из поста на канале @kotlin_broadcast.
Важно: Новый Backend JVM IR компилятора перешел в Beta, а старый больше не поддерживается. В 1.5.0 этот компилятор будет работать по умолчанию. Поэтому вам надо попробовать скомпилировать и проверить ваш проект.
Что значит попробовали
1️⃣ Хотя бы раз собрать проект. Инструкция как попробовать новый компилятор
2️⃣ Что-то подебажить
3️⃣ Отправить нам репорты/баги о том, что не работает с примерами кода по возможности. Это можно будет сделать через YouTrack или в Slack Kotlinlang.org
4️⃣ Поработать с ним какое-то время, а лучше заадоптить насовсем
Давайте поможем ребятам довести новый JVM IR backend до стабильного состояния! Это здорово облегчит жизнь нам и его разработчикам, а также приблизит нас к Jetpack Compose.
Вышел Kotlin 1.4.30
Новая минорная версия языка привнесла множество изменений о которых вы можете узнать из поста на канале @kotlin_broadcast.
Важно: Новый Backend JVM IR компилятора перешел в Beta, а старый больше не поддерживается. В 1.5.0 этот компилятор будет работать по умолчанию. Поэтому вам надо попробовать скомпилировать и проверить ваш проект.
Что значит попробовали
1️⃣ Хотя бы раз собрать проект. Инструкция как попробовать новый компилятор
2️⃣ Что-то подебажить
3️⃣ Отправить нам репорты/баги о том, что не работает с примерами кода по возможности. Это можно будет сделать через YouTrack или в Slack Kotlinlang.org
4️⃣ Поработать с ним какое-то время, а лучше заадоптить насовсем
Давайте поможем ребятам довести новый JVM IR backend до стабильного состояния! Это здорово облегчит жизнь нам и его разработчикам, а также приблизит нас к Jetpack Compose.
#Dagger #Hilt
Hilt: Dependency Injection on Android
Серия уроков по Dagger Hilt в которой подробно рассматриваются все аспекты использования этой надстройки над Dagger и как осуществлять миграцию уже существующих Android проектов. Каждый урок совсем короткий - по несколько минут.
Hilt: Dependency Injection on Android
Серия уроков по Dagger Hilt в которой подробно рассматриваются все аспекты использования этой надстройки над Dagger и как осуществлять миграцию уже существующих Android проектов. Каждый урок совсем короткий - по несколько минут.
#Coroutines #UnderTheHood
Bridging the gap between coroutines, JVM threads, and concurrency problems
Хотите узнать как работают Coroutine на JVM? Как они связаны c Java потоками? Какую роль в этом выполняет CoroutineDispatcher? В статье найдете ответы простым языком с отсылкой в исходники
Bridging the gap between coroutines, JVM threads, and concurrency problems
Хотите узнать как работают Coroutine на JVM? Как они связаны c Java потоками? Какую роль в этом выполняет CoroutineDispatcher? В статье найдете ответы простым языком с отсылкой в исходники
#Android11 #Security
Adapting your apps for Android 11 privacy changes (18 мин)
Обзор изменений, которых вам придется сделать, чтобы мигрировать своё приложения на targetSdk=30 и ужиться со всеми нововведениями ОС.
Будем честны - озаботимся этим только в последний срок, а это сентябрь, может август.
Adapting your apps for Android 11 privacy changes (18 мин)
Обзор изменений, которых вам придется сделать, чтобы мигрировать своё приложения на targetSdk=30 и ужиться со всеми нововведениями ОС.
Будем честны - озаботимся этим только в последний срок, а это сентябрь, может август.
#ViewBinding
Fast migration from Kotlin Synthetics to View Binding- Tips and Tricks
Руководство по миграции с Kotlin Synthetic на View Binding, а именно автор рассказывает как это сделать быстрее, а не очередной "how-to" переписать:
👉 Используй viewBinding делегат
👉 Как сделать шаблон для viewBinding в Android Studio
👉 Используйте Kotlin with(binding) { ... }
Fast migration from Kotlin Synthetics to View Binding- Tips and Tricks
Руководство по миграции с Kotlin Synthetic на View Binding, а именно автор рассказывает как это сделать быстрее, а не очередной "how-to" переписать:
👉 Используй viewBinding делегат
👉 Как сделать шаблон для viewBinding в Android Studio
👉 Используйте Kotlin with(binding) { ... }
#SVG
Very long vector path
Сталкивались с тем что Android Lint жалуется на слишком большой VectorDrawable у вас в ресурсах? Всё верно! Авторы фреймворка задумывались и VectorDrawable как о легком варианте иконок, а не сложных графических ресурсах.
В статье автор показывает проблемы и предлагает несколько утилит для оптимизации SVG:
👉 Avocado
👉 Svgo
👉 Svgomg
Также как вариант может сработать взять стандартную Material иконку не ту, которую дал дизайнер, а добавить из пресета Android Studio. Дизайнеры берут вариант SVG, который неоптимизирован для Android VectorDrawable, а в AS лежат оптимальные.
Very long vector path
Сталкивались с тем что Android Lint жалуется на слишком большой VectorDrawable у вас в ресурсах? Всё верно! Авторы фреймворка задумывались и VectorDrawable как о легком варианте иконок, а не сложных графических ресурсах.
В статье автор показывает проблемы и предлагает несколько утилит для оптимизации SVG:
👉 Avocado
👉 Svgo
👉 Svgomg
Также как вариант может сработать взять стандартную Material иконку не ту, которую дал дизайнер, а добавить из пресета Android Studio. Дизайнеры берут вариант SVG, который неоптимизирован для Android VectorDrawable, а в AS лежат оптимальные.
#Material #UI
Вышла Material Component 1.3.0
В новой версий библиотеки вас ждёт:
👉 Виджет Time Picker
👉 Виджеты для отображения прогресса: линейный и круговой
👉 Исправление багов
Вышла Material Component 1.3.0
В новой версий библиотеки вас ждёт:
👉 Виджет Time Picker
👉 Виджеты для отображения прогресса: линейный и круговой
👉 Исправление багов
#Security
Android Nesting Intents
Intent вложенный в другой Intent может стать уязвимостью вашего приложения. Проблема заключается в том что вы можете положить Intent, который должен запустить компонент вашего приложения, а это возможно только если он будет публично доступен (в манифесте стоит exported=“true”) либо открыт доступ приложениям подписанным таким же ключом как у вас.
Решением является использование PendingIntent, который в отличие от Intent всегда выполняет в Context в котором он был создан т.е. вызов будет происходить как будто все происходит внутри вашего приложения. Тем самым вам не придется открыть чего либо наружу. Заметили что все системные API принимают именно PendingIntent, а не Intent?
Android Nesting Intents
Intent вложенный в другой Intent может стать уязвимостью вашего приложения. Проблема заключается в том что вы можете положить Intent, который должен запустить компонент вашего приложения, а это возможно только если он будет публично доступен (в манифесте стоит exported=“true”) либо открыт доступ приложениям подписанным таким же ключом как у вас.
Решением является использование PendingIntent, который в отличие от Intent всегда выполняет в Context в котором он был создан т.е. вызов будет происходить как будто все происходит внутри вашего приложения. Тем самым вам не придется открыть чего либо наружу. Заметили что все системные API принимают именно PendingIntent, а не Intent?
#Dagger #Koin #Hilt
How Dagger, Hilt and Koin differ under the hood?
Сравнение подкапотной работы популярнейших решений для DI на Android, а также их преимуществ и производительности
How Dagger, Hilt and Koin differ under the hood?
Сравнение подкапотной работы популярнейших решений для DI на Android, а также их преимуществ и производительности
#конференция #cfp
Конференция по мобильной разработке Mobius ищет спикеров!
Если вы давно хотели поделиться с профессиональным сообществом полезными знаниями и заодно устроить себе челлендж, но все ждали знака — это он. Пришлите заявку, пройдите отбор и выступите в прямом эфире Mobius 2021 Piter, который пройдет 13-16 апреля.
Больше всего ждут следующие темы:
👉 Платформы под капотом
👉 Software Craftsmanship
👉 Архитектура;
👉 Качество продукта;
👉 Тренды в мобильной разработке
👉 Инфраструктура
Но этим списком не ограничивается — вы можете подать заявку с любой темой из области мобильной разработки. Если у вас мало опыта публичных выступлений или вы сомневаетесь в своей теме, все равно подавайте. Программный комитет конференции поможет подготовить материал и выступление, а также улучшить ваши ораторские навыки.
Заявки принимаются до 16 февраля. Вопросы присылайте @OksanaMiroshnichenko
Конференция по мобильной разработке Mobius ищет спикеров!
Если вы давно хотели поделиться с профессиональным сообществом полезными знаниями и заодно устроить себе челлендж, но все ждали знака — это он. Пришлите заявку, пройдите отбор и выступите в прямом эфире Mobius 2021 Piter, который пройдет 13-16 апреля.
Больше всего ждут следующие темы:
👉 Платформы под капотом
👉 Software Craftsmanship
👉 Архитектура;
👉 Качество продукта;
👉 Тренды в мобильной разработке
👉 Инфраструктура
Но этим списком не ограничивается — вы можете подать заявку с любой темой из области мобильной разработки. Если у вас мало опыта публичных выступлений или вы сомневаетесь в своей теме, все равно подавайте. Программный комитет конференции поможет подготовить материал и выступление, а также улучшить ваши ораторские навыки.
Заявки принимаются до 16 февраля. Вопросы присылайте @OksanaMiroshnichenko
Publishing to Maven Central
После объявление о закрытие JCenter стали как никогда актуальны статьи о переезде в Maven Central и их посыпалось как из ведра. В статье рассматривается публикация артефактов, автоматизация процесса и примеры
После объявление о закрытие JCenter стали как никогда актуальны статьи о переезде в Maven Central и их посыпалось как из ведра. В статье рассматривается публикация артефактов, автоматизация процесса и примеры
Автор создал новый технический контент в несколькких форматах. Что предпочитаете вы?
Final Results
61%
Читать статью
25%
Смотреть видео
4%
Слушать видео
5%
Слушать подкаст
5%
Не участвую в опросе
#AndroidBroadcast #Новости
Новостной дайджеcт для Android разработчиков #3
Еженедельный дайджест успел стать традицией. Что вас ждёт в выпуске:
👉 Kotlin 1.4.30
👉 kotlinx.serialization 1.1.0-RC
👉 Material Components 1.3.0
👉 JFrog закрывают JCenter
👉 ProGuard Playground
👉 Kotlin Coroutines и JVM потоки
👉 Адаптируем ваши приложения для Android 11 с учётом изменений приватности
👉 Hilt и миграция на него
👉 Dagger vs Hilt vs Koin под капотом
👉 7 простых ошибок использования Fragment
👉 Публичная Beta Harmony OS 2.0
👉 Первый независимый смартфон Honor
Поддержи Android Broadcast, что сделать его круче и регулярнее!
Новостной дайджеcт для Android разработчиков #3
Еженедельный дайджест успел стать традицией. Что вас ждёт в выпуске:
👉 Kotlin 1.4.30
👉 kotlinx.serialization 1.1.0-RC
👉 Material Components 1.3.0
👉 JFrog закрывают JCenter
👉 ProGuard Playground
👉 Kotlin Coroutines и JVM потоки
👉 Адаптируем ваши приложения для Android 11 с учётом изменений приватности
👉 Hilt и миграция на него
👉 Dagger vs Hilt vs Koin под капотом
👉 7 простых ошибок использования Fragment
👉 Публичная Beta Harmony OS 2.0
👉 Первый независимый смартфон Honor
Поддержи Android Broadcast, что сделать его круче и регулярнее!
#Dagger
Вышел Dagger 2.32
👉 В
👉 Исправление багов в генерации
Hilt
👉 Новый метод
👉
👉 Удалили deprecated
👉 Исправили работу с Android Gradle Plugin 4.2.0-beta04
Вышел Dagger 2.32
👉 В
AssistedFactory теперь надо явно задавать имена для аргументов, которые имеют одинаковый тип👉 Исправление багов в генерации
AssistedFactoryHilt
👉 Новый метод
delayComponentReady() в HiltAndroidRule, который позволяет инициализировать компоненты в тестах до запуска выполнения теста👉
HiltAndroidRule теперь требует чтобы inject() вызывался не более одного раза в тесте👉 Удалили deprecated
ApplicationComponent👉 Исправили работу с Android Gradle Plugin 4.2.0-beta04
#Архитектура #Модуляризация
Modularization of Android Applications in 2021
Модуляризация Android приложений уже никого не удивишь. Тему замусолили вдоль и поперёк, кто-то интегрировал к себе, кто-то забил. Ребята из Касперского развивают свой опыт про модуляризацию и раскрывают различные аспекты:
👉 Принципы разделения модулей
👉 Модуляризация с явной инициализацией
👉 Модуляризация с отложенной инициализацией модулей
Modularization of Android Applications in 2021
Модуляризация Android приложений уже никого не удивишь. Тему замусолили вдоль и поперёк, кто-то интегрировал к себе, кто-то забил. Ребята из Касперского развивают свой опыт про модуляризацию и раскрывают различные аспекты:
👉 Принципы разделения модулей
👉 Модуляризация с явной инициализацией
👉 Модуляризация с отложенной инициализацией модулей
#AndroidBroadcast
Ktor: микросервисы, веб приложения и клиенты в одном фреймворке (Livestream)
Сегодня в 19.00 (GMT+3)
В гости Android Broadcast приходит Леонид Сташевский - Tech Lead проекта Ktor из JetBrains. Мы обсудим с ним Ktor, его особенности и будущее.
Подключайтесь чтобы послушать и задавать свои вопросы
Ktor: микросервисы, веб приложения и клиенты в одном фреймворке (Livestream)
Сегодня в 19.00 (GMT+3)
В гости Android Broadcast приходит Леонид Сташевский - Tech Lead проекта Ktor из JetBrains. Мы обсудим с ним Ktor, его особенности и будущее.
Подключайтесь чтобы послушать и задавать свои вопросы
#Kotlin
Announcing Kotlin Symbol Processing (KSP) Alpha
С переходом нового компилятора Kotlin в Beta статус плагины компилятора тоже развиваются. Помните Kotlin Symbol Processing (KSP), которая призвана ускорить генерацию кода в Kotlin проектах, заменив KAPT? Так вот она перешла в альфу
Статус поддерживаемых библиотек сейчас можно найти здесь, а также добавить те, которые важны вам. Сейчас адаптацию пока начали делать только в Room.
Announcing Kotlin Symbol Processing (KSP) Alpha
С переходом нового компилятора Kotlin в Beta статус плагины компилятора тоже развиваются. Помните Kotlin Symbol Processing (KSP), которая призвана ускорить генерацию кода в Kotlin проектах, заменив KAPT? Так вот она перешла в альфу
Статус поддерживаемых библиотек сейчас можно найти здесь, а также добавить те, которые важны вам. Сейчас адаптацию пока начали делать только в Room.
#Jetpack
Обновление Android Jetpack от 10.02.2021
Новая неделя принесла нам целую кучу нового функционала в стабильных версиях:
👉 Новое Activity Result API
👉 Рефакторинг внутренностей Fragment
👉 Новое API для передачи/получения результата между Fragment
👉 Улучшения работы с Lifecycle
👉 Возможность получать LifecycleOwner, ViewModelStoreOwner из View
👉 Deprecation onAttachFragment(), FragmentViewPager, Fragment.setRetainInstance() и др. API
Подробности изменений на сайте developer.android.com
Обновление Android Jetpack от 10.02.2021
Новая неделя принесла нам целую кучу нового функционала в стабильных версиях:
👉 Новое Activity Result API
👉 Рефакторинг внутренностей Fragment
👉 Новое API для передачи/получения результата между Fragment
👉 Улучшения работы с Lifecycle
👉 Возможность получать LifecycleOwner, ViewModelStoreOwner из View
👉 Deprecation onAttachFragment(), FragmentViewPager, Fragment.setRetainInstance() и др. API
Подробности изменений на сайте developer.android.com
Как вы относитесь к утечкам? Наприсер скриншоты Android 13
Anonymous Poll
43%
Смотрю, но не воспринимаю как важную информацию до анонса
12%
Верю проверенным источникам
30%
Не смотрю
2%
Другое
12%
Не участвую в опросе