#AndroidDevSummit
По итогам Android Dev Summit буду делать обзор:
👉 новинки: Jetpack Compose, Android Studio 4.0, Motion Editor, Kotlin + Android, Android 11, Scoped Storage и пр
👉 высказывать своё мнение
👉 и конечно ванговать о будущем
Буду пробовать новый формат - 📺 видео на канале в YouTube.
Все те кто смог побывать лично на этой конференции - буду рад с вами пообщаться как для сбора материала или для участия в обзоре. Пишите мне в личку @krlrozov
По итогам Android Dev Summit буду делать обзор:
👉 новинки: Jetpack Compose, Android Studio 4.0, Motion Editor, Kotlin + Android, Android 11, Scoped Storage и пр
👉 высказывать своё мнение
👉 и конечно ванговать о будущем
Буду пробовать новый формат - 📺 видео на канале в YouTube.
Все те кто смог побывать лично на этой конференции - буду рад с вами пообщаться как для сбора материала или для участия в обзоре. Пишите мне в личку @krlrozov
#Kotlin #BestPractices
Дмитрий Жемеров — Идиоматичный Kotlin от форматирования до DSL
Насколько полностью вы используете возможности Kotlin? Насколько правильно вы это делаете? Может есть путь, который рекомендуют создатели? Да, он есть в первую очередь это Kotlin Coding Conventions и доклад от Дмитрия Жемерова.
Дмитрий Жемеров - это старожила JetBrains. Он участвовал в разработке многих проектов компании, включая Kotlin. Заглавное фото с маяком - его работа. Соавтор книги «Kotlin in Action».
Дмитрий Жемеров — Идиоматичный Kotlin от форматирования до DSL
Насколько полностью вы используете возможности Kotlin? Насколько правильно вы это делаете? Может есть путь, который рекомендуют создатели? Да, он есть в первую очередь это Kotlin Coding Conventions и доклад от Дмитрия Жемерова.
Дмитрий Жемеров - это старожила JetBrains. Он участвовал в разработке многих проектов компании, включая Kotlin. Заглавное фото с маяком - его работа. Соавтор книги «Kotlin in Action».
YouTube
Дмитрий Жемеров — Идиоматичный Kotlin от форматирования до DSL
Ближайшая конференция — JPoint 2025, 3–4 апреля (Москва + трансляция).
Подробности и билеты: https://jrg.su/T2zfbS
— —
. . . . Начать пользоваться Kotlin несложно — он похож на Java, и ваш существующий опыт легко позволит вам начать программировать в стиле…
Подробности и билеты: https://jrg.su/T2zfbS
— —
. . . . Начать пользоваться Kotlin несложно — он похож на Java, и ваш существующий опыт легко позволит вам начать программировать в стиле…
#DependencyInjection #Dagger #Jetpack
Появилось официальное руководство по Dependency Injection в Android, а также важные новости:
👉 Dagger - официальная рекомендация как DI для Android приложения
👉 Используйте Dagger для больших приложений (8+ экранов)
👉 В Google работают над сокращение кода для работы с Dagger
Больше подробностей читайте в статье
Появилось официальное руководство по Dependency Injection в Android, а также важные новости:
👉 Dagger - официальная рекомендация как DI для Android приложения
👉 Используйте Dagger для больших приложений (8+ экранов)
👉 В Google работают над сокращение кода для работы с Dagger
Больше подробностей читайте в статье
Telegraph
Официальное руководство по Dependency Injection в Android
Официальное руководство по Dependency Injection появилось на developers.android.com. В рамках руководства рассматривается: Что такое DI Альтернативы DI Dependency injection своими руками Dagger 2 Многомодульность c Dagger 2 Лучшие практики Если раньше Dagger…
#R8 #ProGuard
Comparison of ProGuard vs. R8: October 2019 edition
Proguard уходит из Android. Уже начиная с Android Gradle Plugin 3.4.0 по умолчанию используется R8. Смогла ли Google сделать продукт лучше? Однозначно сказать нельзя. Что-то лучше в R8, что-то в ProGuard, а что-то ProGuard уже скопировал у R8 😁
Разработчики ProGuard уже проводили сравнение, но решили это сделать повторно т.к. R8 развивается быстро. Новое сравнение предназначено для продвижение, но позволяет понять отдельные детали.
Comparison of ProGuard vs. R8: October 2019 edition
Proguard уходит из Android. Уже начиная с Android Gradle Plugin 3.4.0 по умолчанию используется R8. Смогла ли Google сделать продукт лучше? Однозначно сказать нельзя. Что-то лучше в R8, что-то в ProGuard, а что-то ProGuard уже скопировал у R8 😁
Разработчики ProGuard уже проводили сравнение, но решили это сделать повторно т.к. R8 развивается быстро. Новое сравнение предназначено для продвижение, но позволяет понять отдельные детали.
Guardsquare
Comparison of ProGuard vs. R8 | Guardsquare
This comparison of ProGuard vs. R8 gives a detailed, technical look at these popular Android optimizer tools for app developers. Read on to learn more.
#AndroidX #JetpackWeekly #Coroutines #Benchmark
Android Jetpack Weekly #10
Android Dev Summit принес большое обновление
🔥Улучшена поддержка Kotlin Coroutines в Lifecycle и LiveData
🔥Сохранение состояния в ViewModel
🎁ViewPager 2 RC - новый ViewPager на основе RecyclerView
🎁Android Benchmark RC - теперь можно писать тесты под Android правильно
🚀 Улучшенные анимации
Android Jetpack Weekly #10
Android Dev Summit принес большое обновление
🔥Улучшена поддержка Kotlin Coroutines в Lifecycle и LiveData
🔥Сохранение состояния в ViewModel
🎁ViewPager 2 RC - новый ViewPager на основе RecyclerView
🎁Android Benchmark RC - теперь можно писать тесты под Android правильно
🚀 Улучшенные анимации
Medium
Android Jetpack Weekly #10
Android Dev Summit: many RCs of next major update from Jetpack.
#Emulator #HyperV
Android Emulator Hypervisor Driver for AMD Processors - Canary SDK Package
Для всех те кто использует Android эмулятор, знают наверняка, что лучше иметь процессор от Intel, так как на нём есть аппаратное ускорение для x86. Но почему были обделены процессоры AMD ?
Теперь это решено и технология Hyper-V поддерживается в Windows 10. Хотите попробовать - смотрите руководство по установке.
Android Emulator Hypervisor Driver for AMD Processors - Canary SDK Package
Для всех те кто использует Android эмулятор, знают наверняка, что лучше иметь процессор от Intel, так как на нём есть аппаратное ускорение для x86. Но почему были обделены процессоры AMD ?
Теперь это решено и технология Hyper-V поддерживается в Windows 10. Хотите попробовать - смотрите руководство по установке.
Android Studio Release Updates
Android Emulator Hypervisor Driver for AMD Processors - Canary SDK Package, Install Instructions
Android Emulator Hypervisor Driver for AMD Processors is now available for download via SDK Manager in the Canary channel. This is meant ...
На чем вы пишете под Android?
Final Results
49%
macOS
28%
Windows + Intel
4%
Windows + AMD
17%
Linux
1%
Chrome OS
1%
Не пишу код
#WebView #AndroidX
Google решила напомнить о библиотеки AndroidX Webkit, которая портирует возможности WebView с более новых версий Android на старые (5.0+). Смотрите быстрый обзор в коротком видео
Google решила напомнить о библиотеки AndroidX Webkit, которая портирует возможности WebView с более новых версий Android на старые (5.0+). Смотрите быстрый обзор в коротком видео
#ArhitectureComponents #LiveData
When NOT to Use LiveData
Android Architecture Components - это популярное решение. Одна из его самых популярных частей - LiveData. Ее поддерживает множество библиотек и позволяет вам получать данные с помощью нее.
Но всегда ли стоит использовать ее? Хорошее решение ли это для слоя данных и бизнес логики? В статье рассматривается когда не стоит использовать LiveData:
1️⃣ В вашем приложение испольуются потоки данных и вам нужно обрабатывать ошибки, backpressure и пр.
2️⃣ Не хватает операторов (спорный случай, так как есть сторонние библиотеки)
3️⃣ У вас нет взаимодействия с данными из UI
4️⃣ У вас одноразовая асинхронная операция (опять же спорно, так как с
5️⃣ Вам не нужно сохранять данные в UI
When NOT to Use LiveData
Android Architecture Components - это популярное решение. Одна из его самых популярных частей - LiveData. Ее поддерживает множество библиотек и позволяет вам получать данные с помощью нее.
Но всегда ли стоит использовать ее? Хорошее решение ли это для слоя данных и бизнес логики? В статье рассматривается когда не стоит использовать LiveData:
1️⃣ В вашем приложение испольуются потоки данных и вам нужно обрабатывать ошибки, backpressure и пр.
2️⃣ Не хватает операторов (спорный случай, так как есть сторонние библиотеки)
3️⃣ У вас нет взаимодействия с данными из UI
4️⃣ У вас одноразовая асинхронная операция (опять же спорно, так как с
LiveData
удобно доставить результат и получить ее обновления, которое запрашивается пользователем в UI)5️⃣ Вам не нужно сохранять данные в UI
Medium
When NOT to Use LiveData
Let’s dive into the cases of using LiveData not to its purpose and creating limitations to the scalability in your project through this…
#Library #Security #Network
Certificate Transparency for Android
Хотите сделать защиту сетевого слоя более надежной и обезопасить от себя атак от "man-in-the-middle" ? Тогда вы можете использовать библиотеку, которая позволит вам реализовать Certificate Transparency, которая позволяет определить, что SSL сертификат не был подменен злоумышленником.
Библиотека поддерживает OkHttp, Volley, HttpURLConnection
Certificate Transparency for Android
Хотите сделать защиту сетевого слоя более надежной и обезопасить от себя атак от "man-in-the-middle" ? Тогда вы можете использовать библиотеку, которая позволит вам реализовать Certificate Transparency, которая позволяет определить, что SSL сертификат не был подменен злоумышленником.
Библиотека поддерживает OkHttp, Volley, HttpURLConnection
GitHub
GitHub - babylonhealth/certificate-transparency-android: Certificate transparency for Android and Java
Certificate transparency for Android and Java. Contribute to babylonhealth/certificate-transparency-android development by creating an account on GitHub.
#RoboScripts #Firebase #GooglePlay
Test Robo Scripts Locally: Useful For Firebase Test Lab & Pre-launch Reports
Используете ли вы Google Play Console Pre-launch Report ? Это хороший способ проверить работоспособность вашего приложения перед релизом. У меня ни один релиз не уходит дальше Альфа канала, пока не придёт успешный отчет о прохождении проверок.
По умолчанию механизм работает на основе автоматического прохождения вашего приложения, что порой может его вовсе увести из приложения. Чтобы избежать этого можно использовать Robo Scripts из Firebase Test Lab. Эти скрипты позволят вам описать сценарий прохождения вашего приложения, чтобы проверить самые важные места
В статье рассматривается как проверить Robo Script локально, не ограничивая себя лимитами Google Play Console и Firebase Test Lab. Спойлер - App Crawler (официальный инструмент)
Test Robo Scripts Locally: Useful For Firebase Test Lab & Pre-launch Reports
Используете ли вы Google Play Console Pre-launch Report ? Это хороший способ проверить работоспособность вашего приложения перед релизом. У меня ни один релиз не уходит дальше Альфа канала, пока не придёт успешный отчет о прохождении проверок.
По умолчанию механизм работает на основе автоматического прохождения вашего приложения, что порой может его вовсе увести из приложения. Чтобы избежать этого можно использовать Robo Scripts из Firebase Test Lab. Эти скрипты позволят вам описать сценарий прохождения вашего приложения, чтобы проверить самые важные места
В статье рассматривается как проверить Robo Script локально, не ограничивая себя лимитами Google Play Console и Firebase Test Lab. Спойлер - App Crawler (официальный инструмент)
#JetpackCompose
Exploring Jetpack Compose: Button
Высокоуровневый разбор добавления кнопок в Jetpack Compose: API, стили, кастомизация.
Exploring Jetpack Compose: Button
Высокоуровневый разбор добавления кнопок в Jetpack Compose: API, стили, кастомизация.
Joe Birch
Exploring Jetpack Compose: Button
Important: The contents of this article have been deprecated with newer releases for Jetpack Compose. If you're looking to learn about the Button composable, please see the guides here.
If there are any questions on how to make use of the Button component…
If there are any questions on how to make use of the Button component…
#Kotlin #InlineClass
Inline classes, the next level of type safety
Система типа Kotlin замечательна. Она решила проблему null safety, дала нам sealed классы и inline классы. В чем прелесть inline классов? По сути они дают вам нулевую цену за обертку одних объектов в другие.
Но когда это может быть полезно? Подумайте сколько у вас использование
В статье разбирается как inline класс улучшает разграничение типов
Inline classes, the next level of type safety
Система типа Kotlin замечательна. Она решила проблему null safety, дала нам sealed классы и inline классы. В чем прелесть inline классов? По сути они дают вам нулевую цену за обертку одних объектов в другие.
Но когда это может быть полезно? Подумайте сколько у вас использование
Int
и String
в коде для представления различных наборов значений или кодов. Например, в Android Int
используется для представления ресурсов разных типов и единственная защита от ошибки - это аннотации, которые проверяет Android Lint.В статье разбирается как inline класс улучшает разграничение типов
Eventyco
Best Upcoming Android and Kotlin Conferences in 2022
Discover The Best Android and Kotlin Conferences in 2022. Online and Offline Android and Kotlin Conferences and Events from around the world
#Fragment
Simplifying the FragmentManager API: Multiple Fragment backstacks on Android
Обсуждение поддержки множества back stack для Fragment API - уже долго обсуждаемая тема. Особенно это стало важно, когда шаблон "Bottom Navigation" набрал популярность. Пока все ждут стандартной реализации (о которой разработчики Fragment уже говорят), можно сделать собственный вариант. Пример этого можно найти в статье.
Simplifying the FragmentManager API: Multiple Fragment backstacks on Android
Обсуждение поддержки множества back stack для Fragment API - уже долго обсуждаемая тема. Особенно это стало важно, когда шаблон "Bottom Navigation" набрал популярность. Пока все ждут стандартной реализации (о которой разработчики Fragment уже говорят), можно сделать собственный вариант. Пример этого можно найти в статье.
Medium
Simplifying the FragmentManager API: Multiple Fragment backstacks on Android
Fragments in Android are many things to different people. View controllers, state containers, callback hooks to system events like…
#Architecture #Reactive
Building a system of reactive components with Kotlin
Продолжение рассказа о том, какую архитектуру используют в Badoo для разработки приложений. В новой статье речь зайдет о базовых блоках для построения реактивной архитектуры
Building a system of reactive components with Kotlin
Продолжение рассказа о том, какую архитектуру используют в Badoo для разработки приложений. В новой статье речь зайдет о базовых блоках для построения реактивной архитектуры
Medium
Building a system of reactive components with Kotlin
This is the second part in a series of articles on Android architecture in Badoo. Check out the first one if you missed it:
#Animation
BottomNavigationView: Animating Icons
Руководство по анимированию иконок в BottomNavigationView на основе AnimatedStateListDrawable.
BottomNavigationView: Animating Icons
Руководство по анимированию иконок в BottomNavigationView на основе AnimatedStateListDrawable.
Styling Android
BottomNavigationView: Animating Icons
There is an occasional series on Styling Android which covers techniques for creating Animated Icons as AnimatedVectorDrawable and AnimatedStateListDrawable. These are quite easy to use when using th
#Architecture #MVI #Reactive
Introducing Orbit MVI for Kotlin and Android
Разработчики из компании Babylon Health показали свое собственное решение для архитектуры - OrbitMVI. В статье рассматриваются базовые принципы MVI и особенности решения.
Introducing Orbit MVI for Kotlin and Android
Разработчики из компании Babylon Health показали свое собственное решение для архитектуры - OrbitMVI. В статье рассматриваются базовые принципы MVI и особенности решения.
Medium
Introducing Orbit MVI for Kotlin and Android
We are delighted to introduce Orbit MVI, a library for the Model-View-Intent UI architecture pattern for Kotlin and Android.
#Podcast #Reaktive #Kotlin #Multiplatform
Подкаст "Reaktive на Kotlin Multiplatform"
Взял интервью у разработчиков библиотеки Reaktive: Аркадия Иванова и Юрий Влада. Ребята рассказали о реализации, с каким трудностями столкнулись при разработке на Kotlin Multiplatform, готовность к проду, производительность и пр.
Полезные ссылки:
👉 Reaktive Github
👉 Reaktive JMH Benchmark
👉 Доклад "Kotlin Multiplatform с точки зрения бизнеса"
Подкаст "Reaktive на Kotlin Multiplatform"
Взял интервью у разработчиков библиотеки Reaktive: Аркадия Иванова и Юрий Влада. Ребята рассказали о реализации, с каким трудностями столкнулись при разработке на Kotlin Multiplatform, готовность к проду, производительность и пр.
Полезные ссылки:
👉 Reaktive Github
👉 Reaktive JMH Benchmark
👉 Доклад "Kotlin Multiplatform с точки зрения бизнеса"
SoundCloud
Hear the world’s sounds
Explore the largest community of artists, bands, podcasters and creators of music & audio
#Coroutines #Flow
Binding Android UI with Kotlin Flow
Помните библиотеку RxBinding? Она позволяет получать события от Android виджетов в Rx стиле. Kotlin Flow -это реактивный подход, основанный на Coroutines. Так вот, энтузиасты совместили подходы RxBinding, заменив механизм на Flow, получили новую библиотеку - FlowBinding. В статье рассматриваются все подробности работы с библиотекой.
Binding Android UI with Kotlin Flow
Помните библиотеку RxBinding? Она позволяет получать события от Android виджетов в Rx стиле. Kotlin Flow -это реактивный подход, основанный на Coroutines. Так вот, энтузиасты совместили подходы RxBinding, заменив механизм на Flow, получили новую библиотеку - FlowBinding. В статье рассматриваются все подробности работы с библиотекой.
DEV Community 👩💻👨💻
Binding Android UI with Kotlin Flow
Modern Android codebases are becoming increasingly reactive. With concepts and patterns such as MVI,...
#Coroutines
Everything you need to know about Kotlin Coroutines
Слышали о
В статье вы найдете краткое руководство обо всех основных моментах, что позволит вам понять тему и попробовать их в действии.
Everything you need to know about Kotlin Coroutines
Слышали о
Kotlin Coroutine
? Трудно такое пропустить. Все кто использует Kotlin (а это большинство Android разработчиков). Google также активно агитирует за использование этого асинхронного подхода. Нет, это не из-за "Kotlin First" в Android разработке, а из-за того как Structured Concurrency
эффективно решает связь между асинхронными задачами и жизненным циклом компонентов.В статье вы найдете краткое руководство обо всех основных моментах, что позволит вам понять тему и попробовать их в действии.
Medium
Everything you need to know about kotlin coroutines
In this article, I will demystify all the kotlin coroutines terminologies and its internals. Article contains lots of runnable examples.