#Kotlin #CodeQuality
Вышел первый стабильный релиз Detekt 1.0.0
Вышла первая стабильная версия статического анализатора Kotlin кода.
В релизе (по сравнению с последней RC 16) были исправлены баги, обновлены зависимости, произошли улучшения в Gradle плагине.
Вышел первый стабильный релиз Detekt 1.0.0
Вышла первая стабильная версия статического анализатора Kotlin кода.
В релизе (по сравнению с последней RC 16) были исправлены баги, обновлены зависимости, произошли улучшения в Gradle плагине.
#SQLite #ArchitectureComponents #Room
Packing the Room: Pre-populate your database with this one method
Сейчас в разработке находится следующая версия (2.2) популярного ORM решения для Android - Room. В этой версии появляется функция предзаполнения, которая позволяет вам заполнить БД контентом из файла.
Это позволит избегать парсинга данных из файлов для заполнения данными и ускорить старт приложения.
Packing the Room: Pre-populate your database with this one method
Сейчас в разработке находится следующая версия (2.2) популярного ORM решения для Android - Room. В этой версии появляется функция предзаполнения, которая позволяет вам заполнить БД контентом из файла.
Это позволит избегать парсинга данных из файлов для заполнения данными и ускорить старт приложения.
Medium
Packing the Room: pre-populate your database with this one method
Let’s say that you want to pre-populate your database with data either packaged in your APK or downloaded from server. Whether you wanted…
#BestPractices
10 Tips for Android Library Developers
Вы разрабатываете Android библиотеку? Думаете начать? Если да - то вам могут полезны советы, приведенные в статье, которые упростят работу конечным пользователям вашего творения.
10 Tips for Android Library Developers
Вы разрабатываете Android библиотеку? Думаете начать? Если да - то вам могут полезны советы, приведенные в статье, которые упростят работу конечным пользователям вашего творения.
Medium
10 Tips for Android Library Developers
If you’re distributing a library or just maintaining some library modules in your project, here’re some tips that may be useful to you.
Пишите ли вы какие-то библиотеки (Android или нет неважно)?
Anonymous Poll
15%
Да, open-source
28%
Да, внутренние в компании
7%
Раньше писал
50%
Нет
#Animation #Tooling
Experimenting with motion in Android
Как сделать красивую анимацию на Android? В этом поможет коллаборация с вашим дизайнером и выбор правильного инструмента. Все надо делать в векторе. В статье обозревается:
1️⃣ Sketch + Android Studio
2️⃣ Shapeshifter
3️⃣ AfterEffects + Lottie
Experimenting with motion in Android
Как сделать красивую анимацию на Android? В этом поможет коллаборация с вашим дизайнером и выбор правильного инструмента. Все надо делать в векторе. В статье обозревается:
1️⃣ Sketch + Android Studio
2️⃣ Shapeshifter
3️⃣ AfterEffects + Lottie
Medium
Experimenting with motion in Android
This year Juhani Lehtimäki and I are attending a few conferences giving a talk on the topic “Meaningful animations and how to implement…
#RecyclerView
OneAdapter
Столкнулся с библиотекой, которая упрощает работу с
👉 Больше не нужно работать с
👉 Отображение каждого типа элементов организовано по модульной архитектуре, что позволяет эффективно повторно использовать логику и использовать Dependency Injection
👉 Поддержка
👉 Поддержка пагинации
👉 Поддержка отображения UI для пустого списка
👉 Поддержка выбора одного или множества элементов
👉 Поддержка кликов на элементах списка
И все это приправлено простой использования
OneAdapter
Столкнулся с библиотекой, которая упрощает работу с
RecyclerView
(да знаю что их много, но почему-то именно эта вызвала интерес). Основные преимущества:👉 Больше не нужно работать с
RecyclerView.Adapter
👉 Отображение каждого типа элементов организовано по модульной архитектуре, что позволяет эффективно повторно использовать логику и использовать Dependency Injection
👉 Поддержка
DiffUtil
в более простом варианте👉 Поддержка пагинации
👉 Поддержка отображения UI для пустого списка
👉 Поддержка выбора одного или множества элементов
👉 Поддержка кликов на элементах списка
И все это приправлено простой использования
GitHub
GitHub - idanatz/OneAdapter: A Viewholderless Adapter for RecyclerView, who supports builtin diffing, states (paging, empty...)…
A Viewholderless Adapter for RecyclerView, who supports builtin diffing, states (paging, empty...), events (clicking, swiping...), and more. - idanatz/OneAdapter
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.
Хабр
Обзор облачных сервисов для разработки бэкенда мобильных приложений
Разработка бэкенда — сложный и затратный процесс. При разработке мобильных приложений ему зачастую уделяется неоправданно больше внимания. Неоправданно, потому ч...