#Library #Span
Rialto by Mark Allison
В Android есть поддержка парсинга HTML текста с форматированием, например:
```<string name=”noscript”>Best practices for <b>text</b> on Android</string>```
с помощью android.text.Annotation вы можете кастомизировать существующие стили или вовсе добавлять новые. Например:
```<string name=”noscript”>Best practices for <annotation font=”noscript_emphasis”>text</annotation> on Android</string>```
Также важным является то, что таким образом любой ваш кастомный Span может быть сериализован и передан в другое приложение и восстановлен.
Но не все так сладко, так как чтобы все это заработало необходимо добавить много кода вокруг для обработки Annotation. Mark Allison решил упростить эту задачу и сделал библиотеку Rialto для этого. Подробности найдете в документации на Github и из серии статей:
AnnotationSpans – Part 1
AnnotationSpans – Part 2
Rialto – Getting Started
Rialto – Advanced Usage
Rialto: V1.1.0
Rialto by Mark Allison
В Android есть поддержка парсинга HTML текста с форматированием, например:
```<string name=”noscript”>Best practices for <b>text</b> on Android</string>```
с помощью android.text.Annotation вы можете кастомизировать существующие стили или вовсе добавлять новые. Например:
```<string name=”noscript”>Best practices for <annotation font=”noscript_emphasis”>text</annotation> on Android</string>```
Также важным является то, что таким образом любой ваш кастомный Span может быть сериализован и передан в другое приложение и восстановлен.
Но не все так сладко, так как чтобы все это заработало необходимо добавить много кода вокруг для обработки Annotation. Mark Allison решил упростить эту задачу и сделал библиотеку Rialto для этого. Подробности найдете в документации на Github и из серии статей:
AnnotationSpans – Part 1
AnnotationSpans – Part 2
Rialto – Getting Started
Rialto – Advanced Usage
Rialto: V1.1.0
GitHub
GitHub - StylingAndroid/Rialto
Contribute to StylingAndroid/Rialto development by creating an account on GitHub.
#R8 #Optimization #Kotlin
"R8 Optimization: Staticization" by Jake Wharton|Google
Новая часть статей о компиляции Java кода в Android. В новой статье рассматривается R8 - замена ProGuard от Google. R8 - это не отдельная утилита, а расширение D8, либо более простая формула R8 = D8 + оптимизации.
В статье рассматривается первая оптимизация, которую выполняет R8 - конвертация обычных методов в статические. Вы можете узнать о том, как это выполняется для Companion Object классов в Kotlin.
"R8 Optimization: Staticization" by Jake Wharton|Google
Новая часть статей о компиляции Java кода в Android. В новой статье рассматривается R8 - замена ProGuard от Google. R8 - это не отдельная утилита, а расширение D8, либо более простая формула R8 = D8 + оптимизации.
В статье рассматривается первая оптимизация, которую выполняет R8 - конвертация обычных методов в статические. Вы можете узнать о том, как это выполняется для Companion Object классов в Kotlin.
Jake Wharton
R8 Optimization: Staticization – Jake Wharton
#Dagger #Modularization #Architecture
"Using Dagger in a multi-module project" by Marcos Holgado
Последний тренд в архитектуре Android приложений - это модуляризация (разбиение на Gradle модули). Ее преимущества:
👉 изоляцию функционала друг от друга
👉 более высокая скорость инкрементальной сборки проекта
👉 возможность поддержки Instant Apps и Dynamic Features
👉 меньше конфликтов при работе нескольких разработчиков над проектом.
Преимущества этого подхода прекрасны, но проблема в том, что интеграция подхода в проект непроста, особенно если в уже существующий.
Одна из трудных задач при миграции в многомодульный проект - это разделение графа зависимостей Dagger. В статье вы найдете путеводитель, как пройти путь от одного модуля в множество и нигде не заплутать.
Хорошее видео о модуляризация вашего приложения от Денис Неклюдов — "Как не состариться во время сборки: Kapt и другие приключения"
"Using Dagger in a multi-module project" by Marcos Holgado
Последний тренд в архитектуре Android приложений - это модуляризация (разбиение на Gradle модули). Ее преимущества:
👉 изоляцию функционала друг от друга
👉 более высокая скорость инкрементальной сборки проекта
👉 возможность поддержки Instant Apps и Dynamic Features
👉 меньше конфликтов при работе нескольких разработчиков над проектом.
Преимущества этого подхода прекрасны, но проблема в том, что интеграция подхода в проект непроста, особенно если в уже существующий.
Одна из трудных задач при миграции в многомодульный проект - это разделение графа зависимостей Dagger. В статье вы найдете путеводитель, как пройти путь от одного модуля в множество и нигде не заплутать.
Хорошее видео о модуляризация вашего приложения от Денис Неклюдов — "Как не состариться во время сборки: Kapt и другие приключения"
Medium
Using Dagger in a multi-module project
Struggling to use dagger in a multi-module project? This article should help you a lot so you don’t waste the time I wasted a year ago.
#Google Play
In reviews we trust — Making Google Play ratings and reviews more trustworthy
В Google Play провели тотальную чистку отзывов и рейтингов, которые посчитали неприемлемыми: фейковые, нарушающие политику Google Play или специально предназначенные для занижения или завышения рейтинга приложения.
In reviews we trust — Making Google Play ratings and reviews more trustworthy
В Google Play провели тотальную чистку отзывов и рейтингов, которые посчитали неприемлемыми: фейковые, нарушающие политику Google Play или специально предназначенные для занижения или завышения рейтинга приложения.
Android Developers Blog
In reviews we trust — Making Google Play ratings and reviews more trustworthy
Posted by Fei Ye, Software Engineer and Kazushi Nagayama, Ninja Spamologist Google Play ratings and reviews are extremely importa...
#Gradle #Kotlin
Gradle Site plugin was updated to 5.0
Не так давно вышел Gradle 5.0 и вот только сейчас Gradle полностью обновила пример по написанию своих собственных плагинов, добавив все новые функции. и теперь пример полностью на Kotlin 🎉.
Gradle Site plugin was updated to 5.0
Не так давно вышел Gradle 5.0 и вот только сейчас Gradle полностью обновила пример по написанию своих собственных плагинов, добавив все новые функции. и теперь пример полностью на Kotlin 🎉.
#Kotlin #Performance #Benchmark
"Kotlin performance on Android" от Александра Смирнова
Kotlin - прекрасный язык, предоставивший нам много синтаксиса и возможностей, позволяющих упростить реализацию задач. Но какова цена этого сахара? В статье вы можете найти сравнение производительности основных фичей Kotlin и того как они могут влиять на скорость работы приложения на устройствах.
Спойлер результатов - все примерно одинаково, но если вы еще включите R8/Proguard то результаты будут лучше, так что используйте их для релизных сборок вашего приложения.
"Kotlin performance on Android" от Александра Смирнова
Kotlin - прекрасный язык, предоставивший нам много синтаксиса и возможностей, позволяющих упростить реализацию задач. Но какова цена этого сахара? В статье вы можете найти сравнение производительности основных фичей Kotlin и того как они могут влиять на скорость работы приложения на устройствах.
Спойлер результатов - все примерно одинаково, но если вы еще включите R8/Proguard то результаты будут лучше, так что используйте их для релизных сборок вашего приложения.
Хабр
Kotlin performance on Android
Поговорим сегодня о производительности Kotlin на Android в production. Посмотрим под капот, реализуем хитрые оптимизаци, сравним байт-код. Наконец, серьезно подо...
#System
"Как работает SystemUI в Android" от @miproblema
Задумывались ли вы что происходит для отображения UI чтобы сделать ваше видео потише? А как работает отображение последних приложений? В статье автор разобралась покопалась в нутрах того, что происходит для запуска системного UI.
"Как работает SystemUI в Android" от @miproblema
Задумывались ли вы что происходит для отображения UI чтобы сделать ваше видео потише? А как работает отображение последних приложений? В статье автор разобралась покопалась в нутрах того, что происходит для запуска системного UI.
Хабр
Как работает SystemUI в Android
В этой статье я разберу архитектуру и принцип работы основного приложения Android — SystemUI. Меня заинтересовала эта тема, потому что мне интересно, как устро...
#WorkManager #ArchitectureComponents
https://developer.android.com/jetpack/docs/release-notes#december_19_2018
Под новый год Google радует нас подарками - вышел первый beta релиз WorkManager. Так что можно начинать интегрировать его в ваши приложения: API меняться не будет, за исключением критических багов, да и за последние 6 месяцев там было проделано много работы, как результат - библиотека уже стабильна.
https://developer.android.com/jetpack/docs/release-notes#december_19_2018
Под новый год Google радует нас подарками - вышел первый beta релиз WorkManager. Так что можно начинать интегрировать его в ваши приложения: API меняться не будет, за исключением критических багов, да и за последние 6 месяцев там было проделано много работы, как результат - библиотека уже стабильна.
#R8 #Optimization #Kotlin
"R8 Optimization: Null Data Flow Analysis" by Jake Warton|Google
Продолжение статей о том какие оптимизации выполняются в R8. В новой статье вы узнаете о том как оптимизируется работа с null.
"R8 Optimization: Null Data Flow Analysis" by Jake Warton|Google
Продолжение статей о том какие оптимизации выполняются в R8. В новой статье вы узнаете о том как оптимизируется работа с null.
Jake Wharton
R8 Optimization: Null Data Flow Analysis (Part 1) – Jake Wharton
#GooglePlay
"За что Android-разработчики ненавидят Google" от Евгения Трифонова
Рассказ о том что автоматизация процессов не есть всегда хорошо на примере удаления приложений из Google Play и того какие муки проходят разработчики, чтобы восстановить свои приложения там.
"За что Android-разработчики ненавидят Google" от Евгения Трифонова
Рассказ о том что автоматизация процессов не есть всегда хорошо на примере удаления приложений из Google Play и того какие муки проходят разработчики, чтобы восстановить свои приложения там.
Хабр
За что Android-разработчики ненавидят Google
Если посмотреть на мир Android, с первого взгляда кажется, что между разработчиками приложений и Google царят мир-дружба-жвачка. Компания поддержала любовь раз...
#GooglePlay
"Создаем инструменты для глубокого анализа рейтинга приложений в Google Play Store" от Skillbox
История о том как ребята решили создать модель предсказания рейтинга приложения, на основе чего выводили данные и что из этого вышло.
Результат исследований - делайте игру в категорию "Семейные" для всех возрастов 😁
"Создаем инструменты для глубокого анализа рейтинга приложений в Google Play Store" от Skillbox
История о том как ребята решили создать модель предсказания рейтинга приложения, на основе чего выводили данные и что из этого вышло.
Результат исследований - делайте игру в категорию "Семейные" для всех возрастов 😁
Хабр
Создаем инструменты для глубокого анализа рейтинга приложений в Google Play Store
От переводчика: сегодня публикуем для вас совместную статью трех разработчиков, Akaash Chikarmane, Erte Bablu и Nikhil Gaur, в которой рассказывается о методе...
В последнее время на канале я стал писать о Flutter на канале, так как это тема стала интересной в сообществе. Я хочу узнать ваше мнение о контенте по Flutter. За обсуждением предлагаю перейти в @android_broadcast_discussions.
anonymous poll
За Flutter – 30
👍👍👍👍👍👍👍 54%
Только Android SDK – 18
👍👍👍👍 32%
Без разницы – 8
👍👍 14%
👥 56 people voted so far. Poll closed.
anonymous poll
За Flutter – 30
👍👍👍👍👍👍👍 54%
Только Android SDK – 18
👍👍👍👍 32%
Без разницы – 8
👍👍 14%
👥 56 people voted so far. Poll closed.
#Kotlin #Dart #Flutter
"From Kotlin to Dart — an Android developer’s perspective" от Łukasz Wasylkowski|Tooploox
Flutter создает все больше хайпа в мире мобильной разработки, но один из самых популярных вопросов в сообществе - "Почему Dart?". В ответе на это даже есть целый развернутый ответ на FAQ Flutter. С другой стороны, я как Android разработчик уже давно наслаждаюсь всеми возможностями Kotlin и отсутсвие какого-то функционала в Dart меня смутило, например extension функций, null safety, sealed классов и прочего. В статье вы найдете сравнение Dart и Kotlin.
Я очень надеюсь, что появится поддержка Kotlin/Dart, JetBrains услышьте призыв!
"From Kotlin to Dart — an Android developer’s perspective" от Łukasz Wasylkowski|Tooploox
Flutter создает все больше хайпа в мире мобильной разработки, но один из самых популярных вопросов в сообществе - "Почему Dart?". В ответе на это даже есть целый развернутый ответ на FAQ Flutter. С другой стороны, я как Android разработчик уже давно наслаждаюсь всеми возможностями Kotlin и отсутсвие какого-то функционала в Dart меня смутило, например extension функций, null safety, sealed классов и прочего. В статье вы найдете сравнение Dart и Kotlin.
Я очень надеюсь, что появится поддержка Kotlin/Dart, JetBrains услышьте призыв!
Medium
From Kotlin to Dart — an Android developer’s perspective
How does Dart compare to Kotlin for Android development?
#Kotlin #Coroutines #LibUpdates
KotlinX.Coroutines 1.1.0 Released
Вышла новая версия библиотеки корутин. Апдейт направлен на улучшения дебага, производительности и стабильности корутин, а именно было сделано следующее:
👉 Читабельные стектрейсы корутин 🎉 - используйте системное свойство kotlinx.coroutines.debug
👉 Новый модуль kotlinx-coroutines-debug 🎉 - теперь можно получить дамп работы корутины
👉 Новый модуль kotlinx-coroutines-test 🎉 - тестировать становится удобнее, появилась функция Dispatchers.setMain() для подмены Dispatchers.Main в тестах
👉 Dispatchers.Default теперь потребляет меньше CPU ресурсов в JVM
👉 MainScope() и CoroutineScope.cancel() позволят вам в 1 строку создавать CoroutineContext для корутин
👉 Корутины теперь собираются в progressive режиме
👉 Множество других улучшений, исправлений багов и обновлений в документации
KotlinX.Coroutines 1.1.0 Released
Вышла новая версия библиотеки корутин. Апдейт направлен на улучшения дебага, производительности и стабильности корутин, а именно было сделано следующее:
👉 Читабельные стектрейсы корутин 🎉 - используйте системное свойство kotlinx.coroutines.debug
👉 Новый модуль kotlinx-coroutines-debug 🎉 - теперь можно получить дамп работы корутины
👉 Новый модуль kotlinx-coroutines-test 🎉 - тестировать становится удобнее, появилась функция Dispatchers.setMain() для подмены Dispatchers.Main в тестах
👉 Dispatchers.Default теперь потребляет меньше CPU ресурсов в JVM
👉 MainScope() и CoroutineScope.cancel() позволят вам в 1 строку создавать CoroutineContext для корутин
👉 Корутины теперь собираются в progressive режиме
👉 Множество других улучшений, исправлений багов и обновлений в документации
GitHub
kotlinx.coroutines/CHANGES.md at master · Kotlin/kotlinx.coroutines
Library support for Kotlin coroutines . Contribute to Kotlin/kotlinx.coroutines development by creating an account on GitHub.
#Dagger #LibUpdates
Release Dagger 2.20
Вышла новая версия библиотеки Dagger 2. Нового функционала релиз не принес, но сделал много улучшения:
👉 Увеличена скорость процессинга аннотаций
👉 Улучшение валидация графа
👉 Исправление багов
👉 Удаление deprecated кода
Release Dagger 2.20
Вышла новая версия библиотеки Dagger 2. Нового функционала релиз не принес, но сделал много улучшения:
👉 Увеличена скорость процессинга аннотаций
👉 Улучшение валидация графа
👉 Исправление багов
👉 Удаление deprecated кода
GitHub
google/dagger
A fast dependency injector for Android and Java. Contribute to google/dagger development by creating an account on GitHub.
Привет! Я ухожу отпуск, чтобы набраться сил, подготовиться к реализации планов на следующий год и давать вам ещё больше интересного материала, поэтому частота выхода материалов до 2 января будет ниже чем обычно.
Желаю вам всех хороших праздников 🎄 и отдыха !
Желаю вам всех хороших праздников 🎄 и отдыха !