#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
Вышла новая мажорная версия 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
Android Developers Blog
Android Studio 4.0
Posted by Adarsh Fernando, Product Manager
Чистыи код - Именование.pdf
1 MB
Умение давать удачные имена субъектам кода требует высокого уровня владения описательным навыком и единого культурного и информационного фона в команде. Сформулировать единые принципы именования и придерживаться их важно - это обеспечивает единообразие и предсказуемость кодовой базы.
#Gradle
Stop using Gradle buildSrc. Use composite builds instead
В статье автор рассматривает влияние buildSrc в цифрах и предлагает использовать Gradle Compose builds как альтернативу
Stop using Gradle buildSrc. Use composite builds instead
buildSrc
- это специальная директория в Gradle проекте в которой вы можете писать код, доступный в ваших скриптах. Проблема только в том, что любое изменение кода в buildSrc приводит к сборке проекта с нуля (без кэша) ☹️.В статье автор рассматривает влияние buildSrc в цифрах и предлагает использовать Gradle Compose builds как альтернативу
Medium
Stop using Gradle buildSrc. Use composite builds instead
You are invalidating the whole project for any change within buildSrc, usually without there being a valid reason. We can keep the…
Android Broadcast
#Android11 #Online Анонс Android 11 Beta - Смотрим вместе Когда: 3 июня, 17.40 GMT+3 Где: YouTube канал Android Broadcast 3 июня пройдет важное событие - запуск первой Beta Android 11. Для Android разработчиков это событие фактически Android Keynote с Google…
Огорчился сам и придется огорчить вас - презентацию новой версии Android отложили (официальный твит).
Новую дату трансляции на YouTube канале Android Broadcast объявлю позже
Новую дату трансляции на YouTube канале Android Broadcast объявлю позже
Twitter
Android Developers
We are excited to tell you more about Android 11, but now is not the time to celebrate. We are postponing the June 3rd event and beta release. We'll be back with more on Android 11, soon.
#Gradle
Как подружиться с Gradle
Продолжительность 1.5 часа
Gradle трудится для нас каждый день, а мы о нем не всё знаем. Не справедливо! Разработчик из Redmadrobot решил исправить это и сделал классный большой обзор этой системы сборки
Как подружиться с 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
👉 Множество исправлений багов и мелких улучшений
Вышла Material 1.2.0 Beta
Уже на подходе новая версия библиотеки реализация Material Design 2.0 на Android. Если вы не боитесь beta статуса, то сможете получить:
👉 Новый компонент Slider
👉 Поддержка Material Motion System. Теперь анимации будут "из коробки" поддерживаться библиотекой
👉 Новый компонент ShapeableImageView
👉 Улучшения существующих виджетов
👉 Улучшена в Accessibility
👉 Улучшения MaterialShapeDrawable
👉 Множество исправлений багов и мелких улучшений
GitHub
Release 1.2.0-beta01 · material-components/material-components-android
Dependency Updates:
No dependency updates.
Library Updates:
Transitions/Motion
Update transitions to be based on androidx and add transitions platform subpackage to support Activities, Windows,...
No dependency updates.
Library Updates:
Transitions/Motion
Update transitions to be based on androidx and add transitions platform subpackage to support Activities, Windows,...
#Architecture
Масштабируемая архитектура для больших мобильных приложений
Статья про то, как лучше делать архитектуру мобильных приложений. Это не про выбор MVI, MVVM, MVP или чего-то еще, а про то каким принципам стоит следовать, разделяя приложение на компоненты.
👉 Единая ответственность
👉 Простота имплементации
👉 Независимость
👉 Анонимность коммуникаций
👉 Единое состояние UI
👉 Unidirectional data flow
👉 Отключаемость (feature toggles)
В статье также описывается "State Машина" и "Server Driven UI"
Масштабируемая архитектура для больших мобильных приложений
Статья про то, как лучше делать архитектуру мобильных приложений. Это не про выбор MVI, MVVM, MVP или чего-то еще, а про то каким принципам стоит следовать, разделяя приложение на компоненты.
👉 Единая ответственность
👉 Простота имплементации
👉 Независимость
👉 Анонимность коммуникаций
👉 Единое состояние UI
👉 Unidirectional data flow
👉 Отключаемость (feature toggles)
В статье также описывается "State Машина" и "Server Driven UI"
Хабр
Масштабируемая архитектура для больших мобильных приложений
В этой статье мы не будем разбирать MVP, MVVM, MVI или что-то подобное. Сегодня мы поговорим о более глобальной вещи, чем просто архитектура уровня представления...
#UserSession
Managing User Sessions In Android
Большинство приложений сталкиваются с авторизацией пользователя, следовательно, есть и управление сессией пользователя: хранение данных, токенов для работы с сервером и прочее.
Автор статьи рассказывает, что ему надоело реализовывать управление сессий в каждом приложении и он написал небольшую библиотеку для этого про которую он и рассказывает.
Managing User Sessions In Android
Большинство приложений сталкиваются с авторизацией пользователя, следовательно, есть и управление сессией пользователя: хранение данных, токенов для работы с сервером и прочее.
Автор статьи рассказывает, что ему надоело реализовывать управление сессий в каждом приложении и он написал небольшую библиотеку для этого про которую он и рассказывает.
Medium
Managing User Sessions In Android
I ended up having to build my library
#Coroutines #Networking
Do I need to call suspend functions of Retrofit and Room on a background thread?
Библиотека Retrofit поддерживает объявление
Do I need to call suspend functions of Retrofit and Room on a background thread?
Библиотека Retrofit поддерживает объявление
suspend
функций, но многие совершают ошибку и при вызове таких функций вызывают их на фоновом потоке. Этого не нужно делать! Хотите узнать почему? Читайте статью.Medium
Do I need to call suspend functions of Retrofit and Room on a background thread?
After publishing my open source project about Coroutines on Android, which currently includes 16 of the most common, real-world use cases…
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
Когда-то давно, когда деревья были большими, а в Mobile People Talks еще не приглашали гостей, - ведущие уже поднимали тему Jetpack Compose. Пришло время вернуться к ней, так как гостем этого эпизода стал Матвей Мальков из имеющего самое непосредственное к этой теме места - компании Google. И мы точно можем сказать, что он каждый день видит этот тулкит изнутри, так как вместе с командой его и разрабатывает.
Выпуск начинается под вой сирен лондонской полиции, ведущие даже в какой то момент начинают волноваться, что происходит что-то серьезное и в дверь к Матвею скоро начнут врываться суровые полисмены, а выпуск останется незаписанным.
(СПОЙЛЕР) Все обходится благополучно, и ничто не прерывает запись этого эпизода.
Что произошло с Compose за последний год? Насколько он готов к использованию в продакшене? Зачем нужен плагин к Kotlin компилятору? Использует ли Compose нативные компоненты Android SDK или рисует их на канвасе, как Flutter? И наконец, какие вообще есть отличия в подходах к декларативному UI у Jetpack Compose, SwiftUI, ReactNative и Flutter?
Ответы на все эти, и многие другие ХОРОШИЕ вопросы, из первых рук, не пропустите)
🎧 SoundCloud
🎧 Apple Podcasts
SoundCloud
взгляд изнутри
Когда-то давно, когда деревья были большими, а в Mobile People Talks еще не приглашали гостей, - ведущие уже поднимали тему Jetpack Compose.
Пришло время вернуться к ней, так как гостем этого эпизод
Пришло время вернуться к ней, так как гостем этого эпизод
#Gradle
Вышел Gradle 6.5
Новая версия системы сборки добавляет новую возможность - "File-system watching". Фактически теперь Gradle подписывается на изменения файлов с помощью API в ОС и получает уведомлением о таких событиях. Это позволят увеличить скорость инкрементальной сборки до 20%!
Помимо этого также появилось:
👉 Улучшенное управление приоритетами версий зависимостей
👉 Улучшение документации и новые примеры
👉 IDE теперь смогут убивать демонов при закрытии
Вышел 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.
Заглянуть в глаза дракону: 10 вопросов к Huawei Mobile Services
Ответ на 10 самых популярных вопросов о Huawei Mobile Services (HMS) - альтернативе Google Play Services (GMS) для их магазина App Gallery.
В статье вы найдете что включает в себя HMS, как протестировать, с чего начать интеграцию и чем заменять сервисы из GMS и Firebase на устройствах от Huawei.
Хабр
Заглянуть в глаза дракону: 10 вопросов к Huawei Mobile Services
Привет, Хабр! С мая 2019 года из-за санкций США мы остались без приложений и API для Android от Google. Из-за этого нашим устройствам грозило будущее без push-уведомлений, магазина и облачных сервисов. Естественно, мы не опустили руки, а разработали и запустили…
#Automation #Espresso #UIAutomator
"Лаборатория Касперского" и "Авито" представляют Avokado Project
Компании анонсируют старт сотрудничества в формате open-source между «Авито» и «Лабораторией Касперского» — Avokado. Главная цель этого проекта — разработать инструменты, которые упростят жизнь мобильных разработчиков.
Что есть уже сейчас:
👉 Kaspresso framework — фреймворк для написания UI-тестов, использующий Espresso и UI Automator.
👉 Avito Android Infrastructure — инфраструктура Android-приложений «Авито».
👉 Автотесты — процесс создания и запуска UI-тестов под Android.
Главная задача Avokado (на текущий момент) — создать продукт, который позволит развернуть автотесты в проекте за условные 15 минут
Узнать о проекте и помочь можно разными способами:
👉 Следить за обновлениями на сайте и в официальном чате.
👉 Проголосовать за темы, о которых хотелось бы почитать и послушать.
👉 Написать любому из участников команды, предложить помощь и свои идеи. Мы будем этому рады.
"Лаборатория Касперского" и "Авито" представляют Avokado Project
Компании анонсируют старт сотрудничества в формате open-source между «Авито» и «Лабораторией Касперского» — Avokado. Главная цель этого проекта — разработать инструменты, которые упростят жизнь мобильных разработчиков.
Что есть уже сейчас:
👉 Kaspresso framework — фреймворк для написания UI-тестов, использующий Espresso и UI Automator.
👉 Avito Android Infrastructure — инфраструктура Android-приложений «Авито».
👉 Автотесты — процесс создания и запуска UI-тестов под Android.
Главная задача Avokado (на текущий момент) — создать продукт, который позволит развернуть автотесты в проекте за условные 15 минут
Узнать о проекте и помочь можно разными способами:
👉 Следить за обновлениями на сайте и в официальном чате.
👉 Проголосовать за темы, о которых хотелось бы почитать и послушать.
👉 Написать любому из участников команды, предложить помощь и свои идеи. Мы будем этому рады.
Если хотите узнать больше про Avokado, тогда обратите внимание на интервью с разработчиками.
👉 О Kaspresso с Евгением Мацюком и Егором Курниковым
👉 Android инфраструктура Авито в Open Source с Дмитрием Ворониным
👉 О Kaspresso с Евгением Мацюком и Егором Курниковым
👉 Android инфраструктура Авито в Open Source с Дмитрием Ворониным
YouTube
"Kaspresso" с Евгением Мацюком и Егором Курниковым
Всем мы знаем что тесты писать нужно, но делают это не так много людей в проектах. Почему? Это считают сложным и дорогим. Разработчики Kaspresso уверены, что так быть не должно и сделали библиотеку, которая упрощает написание автотестов. Они пришли в гости…
#CodeQuality
Вышел KtLint 0.37.0
В новой версии статического анализатора кода нас ждет:
👉 Валидация Gradle Wrapper
👉 Поддержка Kotlin 1.3.70
👉 Исправление багов, улучшения существующих правил
Вышел KtLint 0.37.0
В новой версии статического анализатора кода нас ждет:
👉 Валидация Gradle Wrapper
👉 Поддержка Kotlin 1.3.70
👉 Исправление багов, улучшения существующих правил
GitHub
Release 0.37.0 · pinterest/ktlint
Thank you to Tapchicoma and romtsn for all their hard work on this release!
Added
Gradle wrapper validation (#684)
Experimental SpacingAroundDoubleColon rule (#722)
Experimental SpacingBetweenDecl...
Added
Gradle wrapper validation (#684)
Experimental SpacingAroundDoubleColon rule (#722)
Experimental SpacingBetweenDecl...
Выбираю какой доклад сделать для GDG Dev Fest. Что вы хотите услышать (подробности о докладах bit.ly/2MFfk3G )
Final Results
14%
Новинки Android 11
34%
Секреты AndroidX
32%
Koin 2 - Лучший DI для Android
12%
Бороздим просторы Android KTX
0%
Другая тема (пишите @krlrozov)
7%
Не участвую в опросе
#Розыгрыш
По итогам опроса от Android Broadcast разыграл билеты на конференции. Правила розыгрыша: генерировал 4 случайных числа. Последний - победитель.
👉 Билет на TechLead Conf 2020 Online (8-10 июня) выиграл(а) [email protected] (видео с розыгрышем)
👉 Билет на Mobius Online (22-25 июня) выиграл(а) @tegorov (видео с розыгрышем)
По итогам опроса от Android Broadcast разыграл билеты на конференции. Правила розыгрыша: генерировал 4 случайных числа. Последний - победитель.
👉 Билет на TechLead Conf 2020 Online (8-10 июня) выиграл(а) [email protected] (видео с розыгрышем)
👉 Билет на Mobius Online (22-25 июня) выиграл(а) @tegorov (видео с розыгрышем)
#Kotlin
Вышла вторая превью Kotlin 1.4
Мы стали еще на шаг ближе к Kotlin 1.4. В новой превью нам показали:
👉 Улучшения для Kotlin MPP: шарить код между разными таргетами стало проще
👉 Новый Project Wizard для создания проектов из IDE
👉 Новый режим компилятора для разработчиков библиотек с дополнительными проверками в Public API
👉 Поддержка использования Coroutine из Swift и Objective-C на Kotli/Native
👉 Улучшения в производительности Kotlin/Native
Вышла вторая превью Kotlin 1.4
Мы стали еще на шаг ближе к Kotlin 1.4. В новой превью нам показали:
👉 Улучшения для Kotlin MPP: шарить код между разными таргетами стало проще
👉 Новый Project Wizard для создания проектов из IDE
👉 Новый режим компилятора для разработчиков библиотек с дополнительными проверками в Public API
👉 Поддержка использования Coroutine из Swift и Objective-C на Kotli/Native
👉 Улучшения в производительности Kotlin/Native
#Storage
Android storage use cases and best practices
В Android документации появился новый раздел, который описывает лучшие практики по работе файлами на Android такие, как:
👉 Отображение всех фото/видео с устройства или из определенной папки
👉 Модификация медиа файлов
👉 Работа с фотографиями
👉 Работа с прочими типами файлов (не медиа)
Все это важно, так как уже совсем скоро в игру вступит Android 11 и Scoped Storage
Android storage use cases and best practices
В Android документации появился новый раздел, который описывает лучшие практики по работе файлами на Android такие, как:
👉 Отображение всех фото/видео с устройства или из определенной папки
👉 Модификация медиа файлов
👉 Работа с фотографиями
👉 Работа с прочими типами файлов (не медиа)
Все это важно, так как уже совсем скоро в игру вступит Android 11 и Scoped Storage
Android Developers
Android storage use cases and best practices | App data and files | Android Developers
#AndroidStudio
Explore the New Layout Inspector in Android Studio 4.0
Обновленный Layout Inspector из Android Studio 4.0 добавил множество новых возможностей:
👉 Просмотр изменения в реальном времени
👉 3D вид
👉 Возможность скрыть часть иерархии View
👉 Навигация по аттрибутам и ресурсам
👉 Поиск по свойствам view
Подробнее обо всем этом в статье
Explore the New Layout Inspector in Android Studio 4.0
Обновленный Layout Inspector из Android Studio 4.0 добавил множество новых возможностей:
👉 Просмотр изменения в реальном времени
👉 3D вид
👉 Возможность скрыть часть иерархии View
👉 Навигация по аттрибутам и ресурсам
👉 Поиск по свойствам view
Подробнее обо всем этом в статье
Medium
Explore the New Layout Inspector in Android Studio 4.0
Inspect your Android views’ hierarchies with Canary 4.0