#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
Также в рамках курса вы разработаете приложение, применяя к нему опыт, полученный на занятиях и выполняя домашнее задание.
Android Broadcast
Вы заботитесь об accesebility в ваших приложениях?
Те кто заботятся об этом в Android приложениях, поделитесь своим опытом сколько это тратит у вас времени, что вы поддерживаете и пр. Пишите в @android_broadcast_discussions
#ArchitectureComponents
Android ProcessLifecycleOwner by example
Очень часто приходится сталкиваться с задачей по определению, когда приложение скрывается с экрана. Android Arсhitecture Components имеют ProcessLifecycleOwner. В статье рассматриваются подробности его работы и как его использовать
Android ProcessLifecycleOwner by example
Очень часто приходится сталкиваться с задачей по определению, когда приложение скрывается с экрана. Android Arсhitecture Components имеют ProcessLifecycleOwner. В статье рассматриваются подробности его работы и как его использовать
Medium
Android ProcessLifecycleOwner by example
The ProcessLifecycleOwner is an extension for getting information about lifecycle for the whole application process. Let’s explore it.
#IntellijIDEA
Фантастические плагины, vol. 2. Практика
Написание плагинов для IDEA/Android Studio - это непростое занятие в силу малого количества документации. Павел Стрельченко из HeadHunter продолжает рассказывать о том как строить плагины на основе опыта ускорения разработки с их помощью.
Первая часть "Фантастические плагины, vol. 1. Теория"
Фантастические плагины, vol. 2. Практика
Написание плагинов для IDEA/Android Studio - это непростое занятие в силу малого количества документации. Павел Стрельченко из HeadHunter продолжает рассказывать о том как строить плагины на основе опыта ускорения разработки с их помощью.
Первая часть "Фантастические плагины, vol. 1. Теория"
Хабр
Фантастические плагины, vol. 2. Практика
Здесь можно почитать первую статью с теорией плагиностроения. А в этой части я расскажу, с какими проблемами мы сталкивались во время создания плагина и как пыта...
#Tools #HTTP
Chucker
Chucker - это библиотека, которая упростит вам анализ HTTP запросов/ответов и ошибок, которые возникают в вашем Android приложении.
Chucker
Chucker - это библиотека, которая упростит вам анализ HTTP запросов/ответов и ошибок, которые возникают в вашем Android приложении.
GitHub
GitHub - ChuckerTeam/chucker: 🔎 An HTTP inspector for Android & OkHTTP (like Charles but on device)
🔎 An HTTP inspector for Android & OkHTTP (like Charles but on device) - ChuckerTeam/chucker