#Kotlin #Coroutines #Flow
Совсем недавно я выступил с докладом "Kotlin Coroutines. Flow is coming" в котором я рассказ о новом компоненте библиотеки kotlinx.coroutines - Flow.
Видео доклада - youtu.be/0ioDlsVyw1g
Слайды к докладу можно найти здесь
Совсем недавно я выступил с докладом "Kotlin Coroutines. Flow is coming" в котором я рассказ о новом компоненте библиотеки kotlinx.coroutines - Flow.
Flow
представляют собой асинхронные холодные потоки данных, построенные на основе Coroutine.Видео доклада - youtu.be/0ioDlsVyw1g
Слайды к докладу можно найти здесь
#AndroidQ #Beta
Вышла последняя бета Android Q.
Новая beta версия Android Q привнесла исправление ошибок и улучшения, например улучшения в новой системе навигации жестами.
Следующий релизом будет стабильная версия Android Q!
Вышла последняя бета Android Q.
Новая beta версия Android Q привнесла исправление ошибок и улучшения, например улучшения в новой системе навигации жестами.
Следующий релизом будет стабильная версия Android Q!
Android Developers Blog
Final Beta update, official Android Q coming soon!
We’re just a few weeks away from the official release of Android Q! As we put the final polish on the new platform, today we’re rolling out Beta 6, the last Beta update. Now is the time to make sure your apps are ready, before we bring the official release…
#News #AndroidXWeekly
AndroidX Weekly теперь переезжает на Medium и будет выходить на английском, для того чтобы быть доступным более широкой аудитории.
Также рубрика переименовывается в Android Jetpack Weekly.
AndroidX Weekly теперь переезжает на Medium и будет выходить на английском, для того чтобы быть доступным более широкой аудитории.
Также рубрика переименовывается в Android Jetpack Weekly.
#JetpackWeekly
Android Jetpack Weekly #3
Текущая неделя была очень богатой на события в обновление библиотек из Android и появлением новых: Fragment, Arch Components, Chrome Custom Tabs, Activity, RecyclerView и пр.
Android Jetpack Weekly #3
Текущая неделя была очень богатой на события в обновление библиотек из Android и появлением новых: Fragment, Arch Components, Chrome Custom Tabs, Activity, RecyclerView и пр.
Medium
Android Jetpack Weekly #3
Review of the most interesting updates in Android Jetpack libraries August 5–11
#AndroidQ #GestureNavigation
Gesture Navigation: A Backstory
История о том как Google решили сделать навигацию жестами в Android: причины, реализация, стандартизация между устройствами различным и пр.
Gesture Navigation: A Backstory
История о том как Google решили сделать навигацию жестами в Android: причины, реализация, стандартизация между устройствами различным и пр.
Android Developers Blog
Gesture Navigation: A Backstory
One of the biggest changes in Android Q is the introduction of a new gesture navigation. Just to recap - with the new system navigation mode - users can navigate back (left/right edge swipe), to the home screen (swipe up from the bottom), and trigger the…
#Profiling
Introducing Nanoscope: An Extremely Accurate Method Tracing Tool for Android
Uber представила для профайлинга CPU новую утилиту - Nanoscope, которая лучше чем Android Studio CPU профайлер по заявлением авторов.
Nanoscope Github репозиторий
Introducing Nanoscope: An Extremely Accurate Method Tracing Tool for Android
Uber представила для профайлинга CPU новую утилиту - Nanoscope, которая лучше чем Android Studio CPU профайлер по заявлением авторов.
Nanoscope Github репозиторий
This media is not supported in your browser
VIEW IN TELEGRAM
Сравнение скорсти работы Nanoscope (слева) и Android Studio CPU профайлер (справа)
#Networking
Вышел OkHttp 4.1.0
Вышла новая версия популярного HTTP клиента. В ней появилось произошли следующие изменения:
👉 Новый модуль
👉 Улучшения в API
👉 Исправление багов
Вышел OkHttp 4.1.0
Вышла новая версия популярного HTTP клиента. В ней появилось произошли следующие изменения:
👉 Новый модуль
okhttp-brotli
, реализующий алгоритм компрессии Brotli, обеспечивающий компрессию на 5-20% эффективнее чем gzip👉 Улучшения в API
👉 Исправление багов
Какой CI вы используете?
Final Results
32%
Jenkins
5%
Bitrise
3%
Travis
6%
Circle
11%
TeamCity
18%
Другой
24%
Не использую CI
#CI #Bitrise #CircleCI
Bitrise vs. CircleCI for Android in a head-to-head battle
Сравнение CircleCI и Bitrise командой, которая осуществила миграцию с первого на последний. Рассматриваются такие параметры как:
👉 Цены
👉 Производительность
👉 Удобство использования
👉 Параллельная сборка
👉 UI тесты
👉 Google Play Deploy
Bitrise vs. CircleCI for Android in a head-to-head battle
Сравнение CircleCI и Bitrise командой, которая осуществила миграцию с первого на последний. Рассматриваются такие параметры как:
👉 Цены
👉 Производительность
👉 Удобство использования
👉 Параллельная сборка
👉 UI тесты
👉 Google Play Deploy
Infinum
Bitrise vs. CircleCI for Android in a Head-to-Head Battle
The best CI is the one that engineers waste the least time on so they can focus on development more. Is Bitrise it?
#ArchitectureComponents #ViewModel #BestPractices
When to load data in ViewModels
Советы по загрузке данных в ViewModel:
⛔Вызывать метод для загрузки данных
⛔Запускать загрузку при создании
✅Запускать загрузку данных отложено (lazy)
✅Загружать данные в
✅Передавайте все необходимые данные в
When to load data in ViewModels
Советы по загрузке данных в ViewModel:
⛔Вызывать метод для загрузки данных
⛔Запускать загрузку при создании
ViewModel
✅Запускать загрузку данных отложено (lazy)
✅Загружать данные в
LiveData
, когда происходит вызов onActive()
✅Передавайте все необходимые данные в
ViewModel
через конструктор, а не функции или свойстваMedium
When to load data in ViewModels
Recently I had a surprisingly long discussion on an ostensibly easy question. Where in our code should we actually trigger the loading of…
#Image #Kotlin #Coroutines
Introducing Coil: Kotlin-first image loading on Android
Вышла новая библиотека для загрузки изображений, которая полностью реализована на Kotlin.
В чем ее преимущества перед Glide 4? Вот список:
👉Использование возможностей Kotlin
👉В 8 раз меньше строк кода
👉Не используется annotation processing
👉Удобство тестирования
👉 Для асинхронности используются
Библиотека работает на основе современных библиотек: OkHttp, Okio и AndroidX Lifecycle.
Coil еще в разработке и текущая версия 0.6.0 + имеется баги.
Документацию можно найти здесь
Исходный код доступен в репозитории на GitHub
Introducing Coil: Kotlin-first image loading on Android
Вышла новая библиотека для загрузки изображений, которая полностью реализована на Kotlin.
В чем ее преимущества перед Glide 4? Вот список:
👉Использование возможностей Kotlin
👉В 8 раз меньше строк кода
👉Не используется annotation processing
👉Удобство тестирования
👉 Для асинхронности используются
Coroutine
Библиотека работает на основе современных библиотек: OkHttp, Okio и AndroidX Lifecycle.
Coil еще в разработке и текущая версия 0.6.0 + имеется баги.
Документацию можно найти здесь
Исходный код доступен в репозитории на GitHub
Medium
Introducing Coil: Kotlin-first image loading on Android
Coil is a Kotlin-first image loader for Android backed by Coroutines, OkHttp, and AndroidX Lifecycles.
This media is not supported in your browser
VIEW IN TELEGRAM
Одна из фичей библиотеки - Dynamic image sampling. Допустим у вас есть картинка размера 500x500 и в начале вы отображает ее в списке с размером 100x100. Картинка с более мелким размером будет закэширована в оперативной памяти. Затем вы хотите открыть эту же картинку в оригинальном качестве и снова запускаете ее загрузку.
Библиотека может определить что исходная картинка уже есть в памяти в более мелком разрешение и использовать ее как временный стаб до загрузки необходимого изображения.
Библиотека может определить что исходная картинка уже есть в памяти в более мелком разрешение и использовать ее как временный стаб до загрузки необходимого изображения.
#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