Android Broadcast
Какой CI вы используете?
Как и ожидалось - победил Jenkins. (хотя тружно назвать победой когда второе место занимает "Не использую CI") Печально ли? Я считаю что да. Jenkins сильно отстает от своих конкурентов на рынке, побеждая только бесплатностью и наличием кучи плагинов на любой чих. Плагины Jenkins - тоже не самое лучшее, так как контроля их качеста не осуществляется.
В мобильной практике EPAM не так давно мы отказались от использования Jenkins в пользу Bitrise. Лучше ли он? Сказать пока не готов, так как я пока с ним еще осваиваюсь. Однозначно настраивать его проще, так как все визуализировано.
P.S. Та четверь людей что не используют CI, отпишите, пожалуйста, в @android_broadcast_discussions почему вы так делаете. Если же причины нет - упростите свою жизнь и автоматизируйте задачи.
В мобильной практике EPAM не так давно мы отказались от использования Jenkins в пользу Bitrise. Лучше ли он? Сказать пока не готов, так как я пока с ним еще осваиваюсь. Однозначно настраивать его проще, так как все визуализировано.
P.S. Та четверь людей что не используют CI, отпишите, пожалуйста, в @android_broadcast_discussions почему вы так делаете. Если же причины нет - упростите свою жизнь и автоматизируйте задачи.
#Gradle
Вышел Gradle 5.6.0
Вышла новая версия системы сборки Gradle в которой произошли следующие изменения:
⚡Более быстрая компиляция Groovy (добавлены эксперементальные compilation avoidance и инкрементальная компиляции)
🛠 Поддержка `test fixtures` для Java проектов. Теперь добавленный отдельный source set для настройки ваших тестов, который также можно подключить и к другим модулям в проекте
📝 Объявление версии всех плагинов в одном месте -
⚡Исправлена скорость сборки на Windows при использование Java Library плагина
⚡Теперь PMD поддерживает инкрементальную компиляцию
➕Улучшения в Worker API
➕Множество мелких улучшений и исправлений багов
Вышел Gradle 5.6.0
Вышла новая версия системы сборки Gradle в которой произошли следующие изменения:
⚡Более быстрая компиляция Groovy (добавлены эксперементальные compilation avoidance и инкрементальная компиляции)
🛠 Поддержка `test fixtures` для Java проектов. Теперь добавленный отдельный source set для настройки ваших тестов, который также можно подключить и к другим модулям в проекте
📝 Объявление версии всех плагинов в одном месте -
settings.gradle
⚡Исправлена скорость сборки на Windows при использование Java Library плагина
⚡Теперь PMD поддерживает инкрементальную компиляцию
➕Улучшения в Worker API
➕Множество мелких улучшений и исправлений багов
#ArchitectureComponent #WorkManager #GooglePlayServices
Вышел WorkManager 2.2.0
WorkManager добрался до очередной стабильной версии. В ней произошло только одно изменение (по отношению к 2.1.0) - был добавлен новый артифакт
Это поможет более эффективно работать тем кто поддерживает старые версии API и выкладывает приложение в Google Play.
Вышел WorkManager 2.2.0
WorkManager добрался до очередной стабильной версии. В ней произошло только одно изменение (по отношению к 2.1.0) - был добавлен новый артифакт
androidx.work:work-gcm:2.2.0
, в котором реализована поддержка использования GCMNetworkManager в качестве исполнителя задач на Android API Level <= 22. Это поможет более эффективно работать тем кто поддерживает старые версии API и выкладывает приложение в Google Play.
Google опубликовала исходный код приложения Google I/O'19
Тезнологии, который вы найдете в приложении:
👉 Чистый Kotlin
👉 Архитектура на основе Android Architecture Components
👉 Firebase как бэкенд
👉 Dagger 2
👉 Espresso
👉 Material Design 2.0
👉 Lottie
👉 Room
👉 AndroidX Navigation
👉 Glide 4
👉 ARCore
Тезнологии, который вы найдете в приложении:
👉 Чистый Kotlin
👉 Архитектура на основе Android Architecture Components
👉 Firebase как бэкенд
👉 Dagger 2
👉 Espresso
👉 Material Design 2.0
👉 Lottie
👉 Room
👉 AndroidX Navigation
👉 Glide 4
👉 ARCore
GitHub
GitHub - google/iosched: The Google I/O Android App
The Google I/O Android App. Contribute to google/iosched development by creating an account on GitHub.
#Test
What is a unit?
Что нам говорят про тесты, когда мы впервые слышим о них?
👉Есть Unit и интеграционные
👉Первых должно быть больше, так как интеграционные медленные
👉Unit тесты должны тестировать только отдельные части кода: метод или класс
Danny Preussler разбирается во всех частях и на примерах показывает что стоит покрывать Unit тестами
What is a unit?
Что нам говорят про тесты, когда мы впервые слышим о них?
👉Есть Unit и интеграционные
👉Первых должно быть больше, так как интеграционные медленные
👉Unit тесты должны тестировать только отдельные части кода: метод или класс
Danny Preussler разбирается во всех частях и на примерах показывает что стоит покрывать Unit тестами
Medium
What is a unit?
What you know about the size of a unit test might be all wrong!
The (not so) hidden cost of sharing code between iOS and Android
История того как в DropBox старались пошарить код между iOS и Android в 2013 году, когда про Kotlin было слышно только отдаленно и Kotlin/Native не было вовсе. Использовали для этого C++. От этого подхода в компании ушли потому, что:
👉 Множество собственных фреймворков и библиотек и сложность их использования
👉 Сложность инструментов разработки
👉 Трудности при адаптации общего кода к различным платформам
👉 Трудно найти сотрудников и необходимость обучения текущих
Больше подробностей в статье
История того как в DropBox старались пошарить код между iOS и Android в 2013 году, когда про Kotlin было слышно только отдаленно и Kotlin/Native не было вовсе. Использовали для этого C++. От этого подхода в компании ушли потому, что:
👉 Множество собственных фреймворков и библиотек и сложность их использования
👉 Сложность инструментов разработки
👉 Трудности при адаптации общего кода к различным платформам
👉 Трудно найти сотрудников и необходимость обучения текущих
Больше подробностей в статье
dropbox.tech
The (not so) hidden cost of sharing code between iOS and Android
#Architecture #Modularization
Дзен изолированных компонентов в Android-архитектуре
Продолжение серии статей (раз и два) от Badoo об MVI в их приложении. В третей части вы найдете разбор рекомендаций:
👉 Нe останавливайтесь на слабой связности компонентов
👉 Компоненты в виде чёрных ящиков
👉 Переходим к однонаправленности
👉 Соединяйте входные и выходные данные разных компонентов
👉 и прочие интересные вопросы
Дзен изолированных компонентов в Android-архитектуре
Продолжение серии статей (раз и два) от Badoo об MVI в их приложении. В третей части вы найдете разбор рекомендаций:
👉 Нe останавливайтесь на слабой связности компонентов
👉 Компоненты в виде чёрных ящиков
👉 Переходим к однонаправленности
👉 Соединяйте входные и выходные данные разных компонентов
👉 и прочие интересные вопросы
Хабр
Дзен изолированных компонентов в Android-архитектуре
Несколько лет назад мы в Badoo начали использовать MVI-подход к Android-разработке. Он был призван упростить сложную кодовую базу и избежать проблемы некоррект...
#JetpackWeekly #AndroidX #AndroidJetpack
Android Jetpack Weekly #4
Текущая неделя была небогато на обновления:
👉 Выпущен стабильный WorkManager 2.2.0 в котором добавлена поддержка GCMNetworkManager в
👉 Багфикс и изменения API в
👉 Багфикс в
👉 Багфикс в
Android Jetpack Weekly #4
Текущая неделя была небогато на обновления:
👉 Выпущен стабильный WorkManager 2.2.0 в котором добавлена поддержка GCMNetworkManager в
WorkManager
👉 Багфикс и изменения API в
RecyclerView
👉 Багфикс в
Jetifier
👉 Багфикс в
DrawerLayout
Medium
Android Jetpack Weekly #4
Review of the most interesting updates in Android Jetpack libraries
Android Showcase Project
Пример проекта использующий все тренды Android разработки 2019 года:
👉 100% Kotlin
👉 Kotlin Coroutines
👉 Gradle Kotlin DSL
👉 Feature модули
👉 Clean Architecture
👉 MVVM
👉 Android Jetpack
👉 Архитектура на одной Single Activity
👉 Navigation Component для управления fragment-ами
👉 Reactive UIs
👉 CI pipeline (Circle CI)
👉 Testing
👉 Static analysis tools
👉 Dependency Injection (Kodein)
👉 Material design 2.0
👉 Coil для загрузки изображений
👉 Lottie
Пример проекта использующий все тренды Android разработки 2019 года:
👉 100% Kotlin
👉 Kotlin Coroutines
👉 Gradle Kotlin DSL
👉 Feature модули
👉 Clean Architecture
👉 MVVM
👉 Android Jetpack
👉 Архитектура на одной Single Activity
👉 Navigation Component для управления fragment-ами
👉 Reactive UIs
👉 CI pipeline (Circle CI)
👉 Testing
👉 Static analysis tools
👉 Dependency Injection (Kodein)
👉 Material design 2.0
👉 Coil для загрузки изображений
👉 Lottie
GitHub
GitHub - igorwojda/android-showcase: 💎 Android application following best practices: Kotlin, Coroutines, JetPack, Clean Architecture…
💎 Android application following best practices: Kotlin, Coroutines, JetPack, Clean Architecture, Feature Modules, Tests, MVVM, DI, Static Analysis... - igorwojda/android-showcase
#Accessibility #GooglePlay
Improving Accessibility in the Android Ecosystem
Google лишний раз напоминает нам что надо заботиться об accessibility. Например в Google Play pre-launch отчет выдает рекомендации по тому что стоит исправить в вашем приложение для accessibility.
Также вы можете воспользоваться приложением Accessibility Scanner для Android
Improving Accessibility in the Android Ecosystem
Google лишний раз напоминает нам что надо заботиться об accessibility. Например в Google Play pre-launch отчет выдает рекомендации по тому что стоит исправить в вашем приложение для accessibility.
Также вы можете воспользоваться приложением Accessibility Scanner для Android
Android Developers Blog
Improving Accessibility in the Android Ecosystem
Posted by Ian Stoba, Program Manager, Accessibility Engineering With billions of Android devices in use around the world and million...
#Graphic #Image
Android Image Lighting Control and Color Filtering
Как сделать картинку ярче или более темной в Android? С чего вы начнете поиск решений? В Android SDK уже есть есть - ColorFilter. Для того чтобы регулировать яркость картинки используйте LightingColorFilter.
В статье разбирается как правильно работать с этим фильтром работать правильно, что значит параметры
Android Image Lighting Control and Color Filtering
Как сделать картинку ярче или более темной в Android? С чего вы начнете поиск решений? В Android SDK уже есть есть - ColorFilter. Для того чтобы регулировать яркость картинки используйте LightingColorFilter.
В статье разбирается как правильно работать с этим фильтром работать правильно, что значит параметры
mul
и add
?Medium
Android Image Lighting Control and Color Filtering
Easily adjust image brightness and color filtering with Android’s LightingColorFilter
#Backend #MBaaS
Обзор облачных сервисов для разработки бэкенда мобильных приложений
Современные устройства позволяют выполнять сложные задачи и разработать более интересный софт. Но все также (большей части случаев) нельзя избавиться от одной составляющей - сервера, который выполняет множество операций: отправка пушей, синхронизация, доступ к тяжелым файлом и пр.
Очень удобно иметь готовое решение из коробки, которое позволит использовать реализации для распространенных задач. В статье проводиться сравнение Microsoft Azure, AWS Amplify, Google Firebase и Kumulos.
Обзор облачных сервисов для разработки бэкенда мобильных приложений
Современные устройства позволяют выполнять сложные задачи и разработать более интересный софт. Но все также (большей части случаев) нельзя избавиться от одной составляющей - сервера, который выполняет множество операций: отправка пушей, синхронизация, доступ к тяжелым файлом и пр.
Очень удобно иметь готовое решение из коробки, которое позволит использовать реализации для распространенных задач. В статье проводиться сравнение Microsoft Azure, AWS Amplify, Google Firebase и Kumulos.
Хабр
Обзор облачных сервисов для разработки бэкенда мобильных приложений
Разработка бэкенда — сложный и затратный процесс. При разработке мобильных приложений ему зачастую уделяется неоправданно больше внимания. Неоправданно, потому ч...
#AndroidStudio #ProjectMarble
Вышла Android Studio 3.5
Вышла следующая стабильная версия Android Studio в который команда исправила более 600 багов, 50 утечек памяти, 20 зависаний IDE, помогла авторам сторонних плагинов исправить баги и постараюсь поднять скорость в проблемных местах.
Что еще нового:
🗜️ Уменьшен расход памяти и CPU эмулятором
🔁 Instant Run ушел на покой. Да здравствует Apply Changes!
🔔 IDE научилась подсказывать рекомендовать увеличить объем выделяемой памяти, а также что ваш антивирус тормозит вам сборку 😞
🚀 Улучшена инкрементальная сборка: Data Binding икрементальный, Kotlin
👉 Улучшена система сборки багов, утечек памяти и общей статистики, соблюдая безопасность и ваши пожелания по отправки
👉 Улучшения в Layout Editor
👉 Улучшения для С/С++ проектов
👉 Добавлена поддержка Chrome OS на несаольких устройствах
👉 IntelliJ IDEA 2019.1
Вышла Android Studio 3.5
Вышла следующая стабильная версия Android Studio в который команда исправила более 600 багов, 50 утечек памяти, 20 зависаний IDE, помогла авторам сторонних плагинов исправить баги и постараюсь поднять скорость в проблемных местах.
Что еще нового:
🗜️ Уменьшен расход памяти и CPU эмулятором
🔁 Instant Run ушел на покой. Да здравствует Apply Changes!
🔔 IDE научилась подсказывать рекомендовать увеличить объем выделяемой памяти, а также что ваш антивирус тормозит вам сборку 😞
🚀 Улучшена инкрементальная сборка: Data Binding икрементальный, Kotlin
👉 Улучшена система сборки багов, утечек памяти и общей статистики, соблюдая безопасность и ваши пожелания по отправки
👉 Улучшения в Layout Editor
👉 Улучшения для С/С++ проектов
👉 Добавлена поддержка Chrome OS на несаольких устройствах
👉 IntelliJ IDEA 2019.1
Android Developers Blog
Android Studio 3.5: Project Marble goes into stable
Posted by Jamal Eason , Product Manager, Android Have you ever wished that Android Studio was faster, more performant, and more memo...
#GooglePlay
Google Warns Developers that All New Android Apps Require Three Days for Approval
Google втихую увеличила срок апрува всех новых приложений до 3 дней минимум 🤯 Перейдет ли это в качество? Станет ли лучше? Подождем и увидем
Пока у вас есть шанс почитать историю разработчика приложений с многолетним стажем работы в Google Play и его общением с поддержкой магазина
Google Warns Developers that All New Android Apps Require Three Days for Approval
Google втихую увеличила срок апрува всех новых приложений до 3 дней минимум 🤯 Перейдет ли это в качество? Станет ли лучше? Подождем и увидем
Пока у вас есть шанс почитать историю разработчика приложений с многолетним стажем работы в Google Play и его общением с поддержкой магазина
Choice of Games LLC
Google Warns Developers that All New Android Apps Require Three Days for Approval
In conversation with Google Play Store developer support today, they confirmed to me that all new Android apps now require at least three days for approval.
This media is not supported in your browser
VIEW IN TELEGRAM
#Animation #Vector
Animating a strike through on Android
Руководство как реализовать анимацию на основе AnimatedVectorDrawable
Animating a strike through on Android
Руководство как реализовать анимацию на основе AnimatedVectorDrawable
#Kotlin
Primaries Matter (a discussion of constructors)
В Kotlin разделили конструкторы: primary и secondary. secondary очень похоже на старого добро знакомого из Java, но вот primary - это новинка. В статье подробно рассматривается его роль
Primaries Matter (a discussion of constructors)
В Kotlin разделили конструкторы: primary и secondary. secondary очень похоже на старого добро знакомого из Java, но вот primary - это новинка. В статье подробно рассматривается его роль
zsmb.co
Primaries Matter (a discussion of constructors)
Primary constructors play a fundamental role in Kotlin classes. Let's take a close look at them, and really understand what exactly is part of a primary constructor, and what makes this constructor so special.
Feature Flags - Why you should care
Возможность включения/выключения фичей в приложении полезная вещь. Она позволит вам что-то включить в тестовом режиме, а в какие-то сборки вовсе не включать код связанный этими возможностями.
Также такой тумблер позволяет вам доставлять новый функционал в ваше приложение в раннем состоянии чтобы его проверили отважные пользователи!
Больше подробности о feature flag в статье
Возможность включения/выключения фичей в приложении полезная вещь. Она позволит вам что-то включить в тестовом режиме, а в какие-то сборки вовсе не включать код связанный этими возможностями.
Также такой тумблер позволяет вам доставлять новый функционал в ваше приложение в раннем состоянии чтобы его проверили отважные пользователи!
Больше подробности о feature flag в статье
Jeroen Mols
Feature Flags - Why you should care
A key ingredient to speed up modern software development is feature flags. But what is a feature flag precisely? Why should you care about them? How do you integrate them into your codebase?
#AndroidAcademy #Minsk
Минское отделение Android Academy объявляет о запуске курса Fundamentals. Занятия начнутся 2 сентября и продлятся 3 месяца. По сравнению с первым курсом, прошедшим год назад, программа была переработана. Теперь в ней 14 занятий (ранее 10) и появились workshop-ы и все на Kotlin. Как всегда вам будут помогать менторы и завершится все хакатоном.
План у ребят следующий:
👉 Hello Android
👉 Hello world - Первый проект
👉 Views.1 - Базис View
👷 Workshop ConstraintLayout
👉 Views.2 - Lists & Adapters
👉 Fragments
👉 Многопоточность в Android
👉 Architecture Components
👉 Работа с сетью
👉 Хранение данных на диске. БД. Настройки
👉 Работа приложения в фоне
👉 Уведомления и Broadcast
👷 Workshop DataBinding
👉 Базовое введение в RxJava
Также в рамках курса вы разработаете приложение, применяя к нему опыт, полученный на занятиях и выполняя домашнее задание.
Минское отделение Android Academy объявляет о запуске курса Fundamentals. Занятия начнутся 2 сентября и продлятся 3 месяца. По сравнению с первым курсом, прошедшим год назад, программа была переработана. Теперь в ней 14 занятий (ранее 10) и появились workshop-ы и все на Kotlin. Как всегда вам будут помогать менторы и завершится все хакатоном.
План у ребят следующий:
👉 Hello Android
👉 Hello world - Первый проект
👉 Views.1 - Базис View
👷 Workshop ConstraintLayout
👉 Views.2 - Lists & Adapters
👉 Fragments
👉 Многопоточность в Android
👉 Architecture Components
👉 Работа с сетью
👉 Хранение данных на диске. БД. Настройки
👉 Работа приложения в фоне
👉 Уведомления и Broadcast
👷 Workshop DataBinding
👉 Базовое введение в RxJava
Также в рамках курса вы разработаете приложение, применяя к нему опыт, полученный на занятиях и выполняя домашнее задание.