#Tooling
Become a Master Builder with these Android Dev Tools
Обзор различных библиотек и программ, которые помогут вам сделать работу проще:
👉 Vysor - шаринг экрана реального устройства
👉 Chucker - перехватчик сетевых запросов
👉 Stetho - множество информации через Chrome
👉 LeakCanary - слежка за утечками памяти
👉 Shape Shifter - визуальный редактор для AnimatedVectorDrawable
👉 Charles Proxy - сетевая прокси
👉 Accessibility Scanner - проверка Accessibility вашего приложения
👉 Window Visual Quality Assurance - измеряем view на экране
👉 Screen Recorder - запись видео с экрана
👉 Dev Tiles - быстрый доступ к настройкам dev options через Tiles
Become a Master Builder with these Android Dev Tools
Обзор различных библиотек и программ, которые помогут вам сделать работу проще:
👉 Vysor - шаринг экрана реального устройства
👉 Chucker - перехватчик сетевых запросов
👉 Stetho - множество информации через Chrome
👉 LeakCanary - слежка за утечками памяти
👉 Shape Shifter - визуальный редактор для AnimatedVectorDrawable
👉 Charles Proxy - сетевая прокси
👉 Accessibility Scanner - проверка Accessibility вашего приложения
👉 Window Visual Quality Assurance - измеряем view на экране
👉 Screen Recorder - запись видео с экрана
👉 Dev Tiles - быстрый доступ к настройкам dev options через Tiles
Medium
Become a Master Builder with these Android Dev Tools
Day-to-day tasks as an Android Developer can consist of varying jobs to complete your work effectively. Whether it is making sure your…
👍1
Android Broadcast
#Tooling Become a Master Builder with these Android Dev Tools Обзор различных библиотек и программ, которые помогут вам сделать работу проще: 👉 Vysor - шаринг экрана реального устройства 👉 Chucker - перехватчик сетевых запросов 👉 Stetho - множество информации…
В дополнение стоит обратить внимание на утилиту scrcpy от Genymotion, которая является бесплатным аналогом Vysor , а также приложение Developer Assistant, которая позволяет вам проверять layout, style, переводы и другое прямо с вашего устройства
#Dagger #Performance
Speeding Up Builds with Dagger Reflect
В Dagger есть 2 боли - сложность описания графа и скорость сборки проектов. С первой проблемой не справиться просто, но вот для второй разработчики придумали уходить от процессора аннотаций в пользу рефлексии. Это снижает скорость работы Dagger, но увеличивает скорость сборки.
Одна грусть во всем этом - уйти полностью от процессора аннотаций в случае Dagger нельзя (
Speeding Up Builds with Dagger Reflect
В Dagger есть 2 боли - сложность описания графа и скорость сборки проектов. С первой проблемой не справиться просто, но вот для второй разработчики придумали уходить от процессора аннотаций в пользу рефлексии. Это снижает скорость работы Dagger, но увеличивает скорость сборки.
Одна грусть во всем этом - уйти полностью от процессора аннотаций в случае Dagger нельзя (
Soundcloud
Speeding Up Builds with Dagger Reflect
A large portion of an Android app’s build time can consist of Dagger annotation processing, and most developers agree that productivity is important, so we decided to experiment to see if we could save time when compiling the SoundCloud Android app. This…
Android Broadcast
#Tooling Become a Master Builder with these Android Dev Tools Обзор различных библиотек и программ, которые помогут вам сделать работу проще: 👉 Vysor - шаринг экрана реального устройства 👉 Chucker - перехватчик сетевых запросов 👉 Stetho - множество информации…
И еще одно приложение - Designer Tools, которое позволит вам отобразить сетку поверх экрана и проверить расположение элементов. Помимо это тулза поможет проверить соответствие дизайна мокапу, путем наложения его, и сверить цвета.
#EditText
Adventures in the Land of EditText
Жизнь с EditText не так проста, если вам надо что-то сделать больше чем просто добавить на UI и получать из него введенный текст.
В статье разработчики делятся своим опытом активной работы с EditText и Span: что делали, с какими проблемами столкнулись и как решали.
Adventures in the Land of EditText
Жизнь с EditText не так проста, если вам надо что-то сделать больше чем просто добавить на UI и получать из него введенный текст.
В статье разработчики делятся своим опытом активной работы с EditText и Span: что делали, с какими проблемами столкнулись и как решали.
#EventBus
Вышел EventBus 3.2
Я думал что пациент давно мертв, но нет - он вернулся с новой версией. Изменения:
👉 Инкрементальный процессинг аннотаций
👉 Улучшена поддержка Jetpack
Вышел EventBus 3.2
Я думал что пациент давно мертв, но нет - он вернулся с новой версией. Изменения:
👉 Инкрементальный процессинг аннотаций
👉 Улучшена поддержка Jetpack
Open Source by greenrobot
EventBus 3.2 with incremental annotation processing - Open Source by greenrobot
EventBus is one of the the most widely used Android libraries; open source. EventBus 3.2 brings faster annotation processing. Join the world's biggest apps.
В Telegram есть возможность соединить канал с чатом, только у реализации есть одна проблема - все из канала начнется сыпаться в чат и пиниться. Из-за этого я не делал этого, но решил спросить вашего мнения.
Final Results
26%
Подключать
74%
Не стоит
И сражу же второй вопрос - стоит ли выделить новости о Android Broadcast (нововведения, анонсы, новые выпуски подкастов и видео) в отдельный канал? Сейчас получается мешак в этом канале и собственный контент канала теряется между ними
Final Results
20%
Хорошая идея
7%
Отдельный канал и дублировать здесь
62%
Как сейчас хорошо
11%
Мне все равно
#DependencyInjection
Koin – это Dependency Injection или Service Locator?
Можно ли Koin назвать Dependency Injection? В статье вы найдете разбор "по понятиям" для Koin.
Со своей стороны могу сказать одно - Koin упростил мне работу с DI и неважно к какому классу его отнесут.
Koin – это Dependency Injection или Service Locator?
Можно ли Koin назвать Dependency Injection? В статье вы найдете разбор "по понятиям" для Koin.
Со своей стороны могу сказать одно - Koin упростил мне работу с DI и неважно к какому классу его отнесут.
Хабр
Koin – это Dependency Injection или Service Locator?
Введение В Android-разработке для DI традиционно используют Dagger 2, очень мощный фреймворк с кодогенерацией. Но есть проблема: новичкам сложно его использовать...
И последний вопрос на сегодня - слушаете ли вы Android Broadcast Podcast? Не важно в каком формате (SoundCloud, YouTube, Google Podcast или др.)
Final Results
38%
Слушаю 😎♥️
14%
Первый раз слышу о таком
17%
Не слушаю подкасты вовсе 🔥
13%
Не слушаю Android Broadcast Podcast
2%
Слушал(а), не понравилось ☹️
7%
Не слушаю по другим причинам
1%
Другой вариант (напишите @krlrozov, пожалуйста)
8%
Покажите ответы ☹️
#CodeQuality #Kotlin
Speeding up the Detekt in a multi-project Gradle build
Рецепт для ускорения проверки Kotlin кода с помощью Detekt для тех кто использует его в много модульном проекте.
На своем проекте автор смог добиться ускорения в 10 раз (64 сек -> 6 сек)! Проект из 56 модулей и примерно 7000 тысяч строк
Speeding up the Detekt in a multi-project Gradle build
Рецепт для ускорения проверки Kotlin кода с помощью Detekt для тех кто использует его в много модульном проекте.
На своем проекте автор смог добиться ускорения в 10 раз (64 сек -> 6 сек)! Проект из 56 модулей и примерно 7000 тысяч строк
madhead
Speeding up the detekt task in a multi-project Gradle build. • madhead
I’m going to tell you how to significantly speed up the detekt task in a multi-project Gradle build.
Precise numbers vary depending on many factors, of course.
In my case, in a build with 56 subprojects and ~7000 lines of code, it was about 10 times faster.
Precise numbers vary depending on many factors, of course.
In my case, in a build with 56 subprojects and ~7000 lines of code, it was about 10 times faster.
#RxJava
Вышла RxJava 3.0
На день всех влюбленных нам решили подарить новую мажорную версию RxJava.
Что нового:
👉 Минимальная версия поддерживаемая версия Java теперь 8 + добавилось множество возможностей
👉 Улучшена работа с ошибками
👉
👉 Возможность приостанавливать Flowable
👉 Улучшение работы операторов
👉 Улучшение stacktrace при ошибках
Подробности изменений в API
Полный список изменений можно найти здесь
RxJava 2 переходит в режим поддержки и в нее будут добавляться только багфиксы.
Вышла RxJava 3.0
На день всех влюбленных нам решили подарить новую мажорную версию RxJava.
Что нового:
👉 Минимальная версия поддерживаемая версия Java теперь 8 + добавилось множество возможностей
👉 Улучшена работа с ошибками
👉
ConnectableFlowable
и ConnectableObservable
- поддержка множества подписчиков👉 Возможность приостанавливать Flowable
👉 Улучшение работы операторов
👉 Улучшение stacktrace при ошибках
Подробности изменений в API
Полный список изменений можно найти здесь
RxJava 2 переходит в режим поддержки и в нее будут добавляться только багфиксы.
GitHub
Release 3.0.0 · ReactiveX/RxJava
Maven
JavaDocs
We are happy to announce the release of RxJava 3.0.0 final.
Please read the wiki page What's different in 3.0 for the details on the various changes compared to RxJava 2.x. The p...
JavaDocs
We are happy to announce the release of RxJava 3.0.0 final.
Please read the wiki page What's different in 3.0 for the details on the various changes compared to RxJava 2.x. The p...
#Podcast #Gradle #Performance
Android Broadcast Podcast #7: "На старт! Внимание! Build!" Ускоряем Gradle co Степаном Гончаровым
Нет в Android мире разработчика, который бы не сталкивался с Gradle, и особенно с тем что она имеет свойство выполняться долго.
Как ускорить сборку проекта? Какую "магию" применяют в больших проектах, где количество строк исчисляется не одной сотней тысяч? Помогают ли в этом рекомендации Gradle? Может пора переходить на Bazel? Обо всем этом мы поговорили с гостем - Степаном Гончаровым.
Степан занимается мобильной разработкой более 10 лет. В настоящий момент Engineering Manager в Grab. Занимается CI/CD тулингом, билд таймом и продуктивностью 200+ мобильных разработчиков. Bazel фанбой. Организатор Kotlin User Group Singapore. Последние два Mobius рассказывает о работе с Gradle.
Полезные ссылки:
👉 Советы по улучшению производительность от команды Gradle
👉 Доклад Степана "Gradle pipeline optimization: Beyond basics"
👉 Kapt и разные опции
👉 Официальный сайт Bazel
👉 Пример настройки Bazel и Android
👉 Плагин для подключения Android SDK в Java модуль
👉 Плагин для подключения AAR в Java модуль
Это первый выпуск, где ведущий стал использовать новый микрофон. Качество звука стало лучше.
Спасибо Александру Марцинкевичу за помощь в подготовке выпуска
Android Broadcast Podcast #7: "На старт! Внимание! Build!" Ускоряем Gradle co Степаном Гончаровым
Нет в Android мире разработчика, который бы не сталкивался с Gradle, и особенно с тем что она имеет свойство выполняться долго.
Как ускорить сборку проекта? Какую "магию" применяют в больших проектах, где количество строк исчисляется не одной сотней тысяч? Помогают ли в этом рекомендации Gradle? Может пора переходить на Bazel? Обо всем этом мы поговорили с гостем - Степаном Гончаровым.
Степан занимается мобильной разработкой более 10 лет. В настоящий момент Engineering Manager в Grab. Занимается CI/CD тулингом, билд таймом и продуктивностью 200+ мобильных разработчиков. Bazel фанбой. Организатор Kotlin User Group Singapore. Последние два Mobius рассказывает о работе с Gradle.
Полезные ссылки:
👉 Советы по улучшению производительность от команды Gradle
👉 Доклад Степана "Gradle pipeline optimization: Beyond basics"
👉 Kapt и разные опции
👉 Официальный сайт Bazel
👉 Пример настройки Bazel и Android
👉 Плагин для подключения Android SDK в Java модуль
👉 Плагин для подключения AAR в Java модуль
Это первый выпуск, где ведущий стал использовать новый микрофон. Качество звука стало лучше.
Спасибо Александру Марцинкевичу за помощь в подготовке выпуска
Должны ли сведения о ЗП открыты внутри компании и за ее пределами?
Anonymous Poll
42%
Да, и поделился бы своими
13%
Да, но свои не дам )
45%
Пусть все будет покрыто тайной
#Новости
Проанализировав результаты опроса и то что я хочу делиться новостями и идеями о развитии проекта, я решил что лучше сделать следующее:
👉 В основной канал будут попадать только новости, связанные с Android контентом, а не о проекте полностью
👉 В новом канале с новостями будет все что описано выше + специфичные опросы касательно развития, больше новостей о том над чем работаю сейчас.
Это не коем образом не повлияет в негативную сторону для текущего канала и позволит давать мне больше информации о развитии проекта
Проанализировав результаты опроса и то что я хочу делиться новостями и идеями о развитии проекта, я решил что лучше сделать следующее:
👉 В основной канал будут попадать только новости, связанные с Android контентом, а не о проекте полностью
👉 В новом канале с новостями будет все что описано выше + специфичные опросы касательно развития, больше новостей о том над чем работаю сейчас.
Это не коем образом не повлияет в негативную сторону для текущего канала и позволит давать мне больше информации о развитии проекта
#RecyclerView
Square Cycler – a RecyclerView API
Взгляд от разработчиков из Square (авторы OkHttp, Retrofit, Picasso, Dagger 1) на создание списков на основе RecyclerView. Основные принципы:
👉 Декларативный подход
👉 Строгая типизация
👉 Поддержка популярных возможностей: edge decoration, sticky headers и др.
👉 Легкий способ создания элементов
Square Cycler – a RecyclerView API
Взгляд от разработчиков из Square (авторы OkHttp, Retrofit, Picasso, Dagger 1) на создание списков на основе RecyclerView. Основные принципы:
👉 Декларативный подход
👉 Строгая типизация
👉 Поддержка популярных возможностей: edge decoration, sticky headers и др.
👉 Легкий способ создания элементов
GitHub
GitHub - square/cycler
Contribute to square/cycler development by creating an account on GitHub.
#Kotlin #CompilerPlugin #KotlinIR
Exploring Kotlin IR
Kotlin Intermediate Representation (IR) - это специальный формат, в который превращается весь Kotlin код, перед тем как будет скомпилирован в конечный код (JVM, JS или Native).
Возможно вы уже слышали про плагины Kotlin компилятор, которые дадут возможность менять IR и создать фреймворки и библиотеки невиданные раннее. Фактически плагины - это Java Annotation Processor на стеройдах и работающий за пределами JVM!
Так вот доступ к плагинам компилятора уже можно получить. Он не имеет документации и нестабилен, но уже давно используется командой Kotlin и сторонними разработчиками, о чем и идет речь в статье.
Exploring Kotlin IR
Kotlin Intermediate Representation (IR) - это специальный формат, в который превращается весь Kotlin код, перед тем как будет скомпилирован в конечный код (JVM, JS или Native).
Возможно вы уже слышали про плагины Kotlin компилятор, которые дадут возможность менять IR и создать фреймворки и библиотеки невиданные раннее. Фактически плагины - это Java Annotation Processor на стеройдах и работающий за пределами JVM!
Так вот доступ к плагинам компилятора уже можно получить. Он не имеет документации и нестабилен, но уже давно используется командой Kotlin и сторонними разработчиками, о чем и идет речь в статье.
Medium
Exploring Kotlin IR
At the time of writing this article, Kotlin IR is experimental. As such, information contained in this article about IR could be…
#Fragment
Android Fragments: FragmentFactory
FragmentFactory - это API, которое позволит вам избавиться от ограничений с созданием
👉 Не иметь конструктора по умолчанию
👉 Выполнять транзакции
👉 Более простым способом создавать
Android Fragments: FragmentFactory
FragmentFactory - это API, которое позволит вам избавиться от ограничений с созданием
Fragment
. Раньше вам обязательно было именно конструктор по умолчанию, но теперь вы можете:👉 Не иметь конструктора по умолчанию
👉 Выполнять транзакции
Fragment
, без созданных экземпляров, а только по классу Fragment
👉 Более простым способом создавать
Fragment
с помощью Dagger 😁Medium
Android Fragments: FragmentFactory
What is a FragmentFactory? How and when to use it? And how does it behave with nested Fragments?
В дополнение к Patreon появилась еще одна возможность поддержать Android Broadcast - через сервис Boosty.
Почему это важно? Это позволит сервису развиваться так как идей множество. Главная из них - обучающие видео по разным популярным темам и публикация их на YouTube.
К сожалению, производство видео тяжелый и затратный процесс т.к. требует качественного монтажа и оборудования. Ваша помощь сделает это более реалистичным.
Почему это важно? Это позволит сервису развиваться так как идей множество. Главная из них - обучающие видео по разным популярным темам и публикация их на YouTube.
К сожалению, производство видео тяжелый и затратный процесс т.к. требует качественного монтажа и оборудования. Ваша помощь сделает это более реалистичным.