#Kotlin
First Look at Kotlin 1.4-M2: Standard Library Improvements
Свежие новости о Kotlin 1.4. Скоро нас ждет следующее превью новой мажорной версии языка и нам рассказывают об изменениях, которые нас ждут в стандартной библиотеке:
👉 Теперь стандартную библиотеку можно без проблем использовать на любой из поддерживаемых языком платформ
👉 Новые функции для массивов:
👉 Новые функции для коллекций и
👉
👉
👉 Теперь
👉 Новый интерфейс
👉 Делегирование одного property другому
👉 Если делегаты не будут использовать информацию из KProperty, то оно будет удаляться в момент компиляции
First Look at Kotlin 1.4-M2: Standard Library Improvements
Свежие новости о Kotlin 1.4. Скоро нас ждет следующее превью новой мажорной версии языка и нам рассказывают об изменениях, которые нас ждут в стандартной библиотеке:
👉 Теперь стандартную библиотеку можно без проблем использовать на любой из поддерживаемых языком платформ
👉 Новые функции для массивов:
shuffle()
, onEach()
, reverse()
, sortDescending()
👉 Новые функции для коллекций и
Sequence
👉
String.toBoolean()
стало String?.toBoolean()
и теперь для null String?
будет возвращать false👉
maxOf()
и minOf()
принимают vararg👉 Теперь
ReadWriteProperty
наследуется от ReadOnlyProperty
. Это позволит использовать ReadWriteProperty
с val👉 Новый интерфейс
PropertyDelegateProvider
, который позволяет не создавать новый класс для делегата и использовать анонимный объект👉 Делегирование одного property другому
👉 Если делегаты не будут использовать информацию из KProperty, то оно будет удаляться в момент компиляции
The JetBrains Blog
First Look at Kotlin 1.4-M2: Standard Library Improvements | The Kotlin Blog
We keep working on Kotlin 1.4 and the next preview 1.4-M2 is just around the corner. Right now we’re ready to unveil some improvements from this preview; in this post, we’ll get you acquainted with th
#Kotlin #CodeQuality
Вышел Detekt 1.9.0
Вышла новая версия статического анализатора Kotlin кода. Значительных обновлений нет, но появилось новое правило MandatoryBracesLoops, которое проверяет наличие блока у циклов
Вышел Detekt 1.9.0
Вышла новая версия статического анализатора Kotlin кода. Значительных обновлений нет, но появилось новое правило MandatoryBracesLoops, которое проверяет наличие блока у циклов
#Animation #VectorDrawable
Introducing Vectordrawable-Seekable
AnimatedVectorDrawable - крутая возможность Android для работы с графикой, но у нее не было возможности управления анимацией. Недавно была анонсирована разработка новой библиотеки, в которой появится SeekableAnimatedVectorDrawable.
Возможности нового класса позволяют ставить анимацию на паузу и перемещаться в любой ее момент (seek)
Introducing Vectordrawable-Seekable
AnimatedVectorDrawable - крутая возможность Android для работы с графикой, но у нее не было возможности управления анимацией. Недавно была анонсирована разработка новой библиотеки, в которой появится SeekableAnimatedVectorDrawable.
Возможности нового класса позволяют ставить анимацию на паузу и перемещаться в любой ее момент (seek)
Medium
Introducing Vectordrawable-Seekable
Using the new and improved AnimatedVectorDrawable to pause and seek your animations.
👍1
Primaree - простая библиотека, которая поможет вам безопасно инициализировать Android приложение со множеством процессов.
Скажите у вас такого быть не может? Скорее всего да, но сторонние библиотеки такое могут сделать. Надо быть внимательнее. Подробнее об этом можно узнать из доклада автора библиотеки.
Скажите у вас такого быть не может? Скорее всего да, но сторонние библиотеки такое могут сделать. Надо быть внимательнее. Подробнее об этом можно узнать из доклада автора библиотеки.
GitHub
GitHub - int02h/primaree: A simple library for safe initialization of multi-process Android applications
A simple library for safe initialization of multi-process Android applications - int02h/primaree
#RxJava
Rx головного мозга
Команда Android-разработки FunCorp вдохновилась докладом Jake Wharton и решила попробовать написать приложение полностью построенное на Rx. Даже так, где это кажется очень странным, сильно упрощает жизнь и делает код очевиднее.
Так ли это или нет можете почитать в разборе этого подхода в статье.
Rx головного мозга
Команда Android-разработки FunCorp вдохновилась докладом Jake Wharton и решила попробовать написать приложение полностью построенное на Rx. Даже так, где это кажется очень странным, сильно упрощает жизнь и делает код очевиднее.
Так ли это или нет можете почитать в разборе этого подхода в статье.
Хабр
Rx головного мозга
О том, как удобно писать на Rx, какие операторы и сущности в нём есть, как делать запросы в сеть и работать с многопоточностью, не писал разве что ленивый. Кто...
#View
Stop Using Post/PostDelayed in Your Android Views
3 минуты
Было ли у вас такое, что операция выполняется с задержкой и чтобы все срабатывало вы делали ее выполнение с задержкой в несколько секунд? Однозначно на вашем устройстве это могло решить проблему, но подход в корне неверный. Мало того такая проблема может привести к крешу и/или утечкам памяти.
В статье разбирается почему стоит избегать такого кода и как это можно сделать для View.
Stop Using Post/PostDelayed in Your Android Views
3 минуты
Было ли у вас такое, что операция выполняется с задержкой и чтобы все срабатывало вы делали ее выполнение с задержкой в несколько секунд? Однозначно на вашем устройстве это могло решить проблему, но подход в корне неверный. Мало того такая проблема может привести к крешу и/или утечкам памяти.
В статье разбирается почему стоит избегать такого кода и как это можно сделать для View.
Medium
Stop Using Post/PostDelayed in Your Android Views
Prevent avoidable crashes
#podcast
Android Broadcast Podcast #17: Как заработать миллион на собственном приложении
Многие разработчики задумываются как разработать свое приложение, чтобы стать независимым. В гости в подкаст пришел Алексей Рудак, который разработал множество приложений в одиночку и смог разработать 1 000 000 $, а сейчас основал свой стартап в сфере переводчиков.
Гость - Алексей Рудак, основатель компании Lingvanex, экс iOS разработчик
Android Broadcast Podcast #17: Как заработать миллион на собственном приложении
Многие разработчики задумываются как разработать свое приложение, чтобы стать независимым. В гости в подкаст пришел Алексей Рудак, который разработал множество приложений в одиночку и смог разработать 1 000 000 $, а сейчас основал свой стартап в сфере переводчиков.
Гость - Алексей Рудак, основатель компании Lingvanex, экс iOS разработчик
#AndroidX #Jetpack
Обновление библиотек AndroidX 14.05.2020
👉 Annotation 1.2.0-alpha01. Добавлена новая аннотация
👉 AppCompat 1.2.0-rc01. Исправление багов
👉 ShareTarget 1.0.0. Утилита для ShareTargetCompat
👉 Wear 1.1.0-rc01. Минорные улучшения
Обновление библиотек AndroidX 14.05.2020
👉 Annotation 1.2.0-alpha01. Добавлена новая аннотация
👉 AppCompat 1.2.0-rc01. Исправление багов
👉 ShareTarget 1.0.0. Утилита для ShareTargetCompat
👉 Wear 1.1.0-rc01. Минорные улучшения
Telegraph
Обновление библиотек AndroidX 14.05.2020
Полный список изменений можно найти здесь, а ниже я приведу самые главные Annotation 1.2.0-alpha01 Добавлена новая аннотация ChecksSdkIntAtLeast, которая помечает метод, Java field или Kotlin property, что они гарантируют проверку минимальной версии SDK Простая…
#Architecture
Understanding Clean Code in Android
В статье разбирается почему важно строить архитектуру (хороший пример с библиотекой) и разбор основных принципов которым надо следовать, а также принципов S.O.L.I.D.
Understanding Clean Code in Android
В статье разбирается почему важно строить архитектуру (хороший пример с библиотекой) и разбор основных принципов которым надо следовать, а также принципов S.O.L.I.D.
Medium
Understanding Clean Code in Android
Before you start writing your code, it’s better that you understand how to manage your code and how to make your code scalable.
#Architecture #MVI
Архитектурный шаблон MVI в Kotlin Multiplatform, часть 1
Kotlin Multiplatfrom набирает обороты и Android разработчики уже могут применять библиотеки, адаптированные для этой технологии у себя, чтобы в будущем легко использовать общую кодовую базу с iOS.
Автор библиотеки Reaktive делится виденьем архитектуры MVI, почему она лучше подходит чем MVVM
Архитектурный шаблон MVI в Kotlin Multiplatform, часть 1
Kotlin Multiplatfrom набирает обороты и Android разработчики уже могут применять библиотеки, адаптированные для этой технологии у себя, чтобы в будущем легко использовать общую кодовую базу с iOS.
Автор библиотеки Reaktive делится виденьем архитектуры MVI, почему она лучше подходит чем MVVM
Хабр
Архитектурный шаблон MVI в Kotlin Multiplatform, часть 1
Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при эт...
#RecyclerView
Playing with the new MergeAdapter on Android
В следующей версии RecyclerView (1.2.0) появится новый вид адаптеров - MergeAdapter, цель которого упростить объединение нескольких типов элементов в один адаптер.
В статье рассматривается пример использования, а также то чего не стоит допуска:
👉 Каждый адаптер внутри в MergeAdapter использует собственный пул для ViewHolder
👉 Не используйте notifyDataSetChanged()
👉 Используйте ViewHolder.getBindingAdapterPosition() вместо ViewHolder.getAdapterPosition(), который теперь deprecated
Playing with the new MergeAdapter on Android
В следующей версии RecyclerView (1.2.0) появится новый вид адаптеров - MergeAdapter, цель которого упростить объединение нескольких типов элементов в один адаптер.
В статье рассматривается пример использования, а также то чего не стоит допуска:
👉 Каждый адаптер внутри в MergeAdapter использует собственный пул для ViewHolder
👉 Не используйте notifyDataSetChanged()
👉 Используйте ViewHolder.getBindingAdapterPosition() вместо ViewHolder.getAdapterPosition(), который теперь deprecated
Medium
Playing with the new MergeAdapter on Android
Mobile apps have come a long way in terms of offering a rich user experience and have found new ways of structuring and surfacing…
Вступил в силу новый ГОСТ для цифровых ресурсов: все платформы должны быть доступны для инвалидов
Теперь в РФ есть ГОСТ в который включены требования для мобильных приложений по их доступности для людей из различных групп: людей и ограниченными возможностями, пожилых людей. ГОСТ разработан на основе рекомендаций международной World Wide Web Consortium
Требования изложены в 4 принципах: цифровой контент должен быть воспринимаемым, управляемым, понятным и надежным. Выполнение ГОСТа необязательно и является лишь рекомендуемым для достижения высокого уровня доступности.
Теперь в РФ есть ГОСТ в который включены требования для мобильных приложений по их доступности для людей из различных групп: людей и ограниченными возможностями, пожилых людей. ГОСТ разработан на основе рекомендаций международной World Wide Web Consortium
Требования изложены в 4 принципах: цифровой контент должен быть воспринимаемым, управляемым, понятным и надежным. Выполнение ГОСТа необязательно и является лишь рекомендуемым для достижения высокого уровня доступности.
Хабр
Вступил в силу новый ГОСТ для цифровых ресурсов: все платформы должны быть доступны для инвалидов
С апреля 2020 года в России начал действовать новый государственный стандарт, определяющий требования доступности для Интернет-ресурсов, мобильных приложений,...
Заботитесь ли вы у себя в выполнении принципов доступности приложения для различных групп людей?
Anonymous Poll
15%
Да, все должны иметь полноценный доступ
59%
Нет, нет времени на заботы обо всём и всех
26%
Не участвую в опросе
#Networking #OkHttp
Вышел OkHttp 4.7.0
👉 Более простой способ отключить проверку безопасности во время разработки с помощью
👉 Добавлены события
👉 Добавлена константа с версией текущего используемого OkHttp клиента
👉 Исправлены баги с Android Studio 4.1 и другие
Вышел OkHttp 4.7.0
👉 Более простой способ отключить проверку безопасности во время разработки с помощью
HandshakeCertificates.Builder.addInsecureHost()
👉 Добавлены события
cacheHit
, cacheMiss
и cacheConditionalHit()
в EventListener
👉 Добавлена константа с версией текущего используемого OkHttp клиента
👉 Исправлены баги с Android Studio 4.1 и другие
GitHub
okhttp/CHANGELOG.md at master · square/okhttp
Square’s meticulous HTTP client for the JVM, Android, and GraalVM. - square/okhttp
#Android11 #Online
Анонс Android 11 Beta - Смотрим вместе
Когда: 3 июня, 17.40 GMT+3
Где: YouTube канал Android Broadcast
3 июня пройдет важное событие - запуск первой Beta Android 11. Для Android разработчиков это событие фактически Android Keynote с Google I/O, которого в этом году не состоялось.
Android Broadcast совместно с Android Dev Podcast объединились для организации стрима с комментариями от опытных разработчиков.
На трансляции будут опытнейшие Android разработчики, суммарный опыт которых порядка 50 лет: Кирилл Розов, Александр Блинов, Михаил Емельянов, Сергей Боиштян, Вадим Котов, Антон Дудаков
Анонс Android 11 Beta - Смотрим вместе
Когда: 3 июня, 17.40 GMT+3
Где: YouTube канал Android Broadcast
3 июня пройдет важное событие - запуск первой Beta Android 11. Для Android разработчиков это событие фактически Android Keynote с Google I/O, которого в этом году не состоялось.
Android Broadcast совместно с Android Dev Podcast объединились для организации стрима с комментариями от опытных разработчиков.
На трансляции будут опытнейшие Android разработчики, суммарный опыт которых порядка 50 лет: Кирилл Розов, Александр Блинов, Михаил Емельянов, Сергей Боиштян, Вадим Котов, Антон Дудаков
#UI #Testing
Snapshot tests or how to stop layouts from breaking (again)
Подход к тестированию UI не с помощью скриншотов (что требует запуска таких тестов на Android устройстве), а с помощью запуска тестов на основе Robolectric.
Библиотека Layout Verifier снимает дампы значений аттрибутов и сохраняет их файлы, последующие тесты проверяют их совпадение.
Snapshot tests or how to stop layouts from breaking (again)
Подход к тестированию UI не с помощью скриншотов (что требует запуска таких тестов на Android устройстве), а с помощью запуска тестов на основе Robolectric.
Библиотека Layout Verifier снимает дампы значений аттрибутов и сохраняет их файлы, последующие тесты проверяют их совпадение.
Medium
Snapshot tests or how to stop layouts from breaking (again)
Scenario: a designer asks you to update padding on one of the screens (let’s call it Screen A). Simple enough task (maybe even too simple)…
#Testing
Accelerate your Android Espresso testing by grouping relevant tests
Статья о различных видах группировки тестов для их точечного запуска. Все это реализовано с помощью аннотаций в JUnit4. Какие варианты групп есть:
👉 По размеру тестов
👉 Группировка нескольких тестов в Suite
👉 Произвольная группировка
Accelerate your Android Espresso testing by grouping relevant tests
Статья о различных видах группировки тестов для их точечного запуска. Все это реализовано с помощью аннотаций в JUnit4. Какие варианты групп есть:
👉 По размеру тестов
👉 Группировка нескольких тестов в Suite
👉 Произвольная группировка
Medium
Accelerate your Android Espresso testing by grouping relevant tests
Running your entire set of tests is slowing down your development. Speed it up by grouping tests,then executing only the ones that matter.
#Coroutines #RxJava
The Real Kotlin Flow benefits over RxJava
«Я использую RxJava. Зачем мне Coroutines Flow?» - такой вопрос я зачастую слышал, когда делал доклады по Flow или топил за этот подход в офисе на кухне.
В статье автор сравнивает эти 2 подхода и показывает, как Flow хорошо себя зарекомендовали и позволяют делать, а где пока есть проблемы
The Real Kotlin Flow benefits over RxJava
«Я использую RxJava. Зачем мне Coroutines Flow?» - такой вопрос я зачастую слышал, когда делал доклады по Flow или топил за этот подход в офисе на кухне.
В статье автор сравнивает эти 2 подхода и показывает, как Flow хорошо себя зарекомендовали и позволяют делать, а где пока есть проблемы
Medium
The Real Kotlin Flow benefits over RxJava
Attempt to analyze the benefits of Kotlin Flow over RxJava.
#Tooling #Library
Android Ecosystem Cheat Sheet 2020
Визуализация наиболее популярных частей Android экосистемы в виде схемы. С какими-то вы знакомы и регулярно пользуетесь, какие-то будут в новинку
Android Ecosystem Cheat Sheet 2020
Визуализация наиболее популярных частей Android экосистемы в виде схемы. С какими-то вы знакомы и регулярно пользуетесь, какие-то будут в новинку
GitHub
GitHub - igorwojda/android-ecosystem-cheat-sheet: 🤖Android Ecosystem Cheatsheet 2020
🤖Android Ecosystem Cheatsheet 2020. Contribute to igorwojda/android-ecosystem-cheat-sheet development by creating an account on GitHub.
#Kotlin #Coroutines
Вышла kotlinx.coroutines 1.3.7
В новой версии библиотеке нас ждёт:
👉 Новый оператор
👉 При эмите из
👉 Возможность получения текущего
👉 Поддержка Kotlin Contract
👉 Проблемы в работе Android Lint (#2004)
👉 Улучшение документации
Вышла kotlinx.coroutines 1.3.7
В новой версии библиотеке нас ждёт:
👉 Новый оператор
Flow.cancellable()
(#2026)👉 При эмите из
flow
теперь проверяет статус cancellation и подлежит отмене (#2026)👉 Возможность получения текущего
CoroutineContext
с помощью функции currentCoroutineContext
(#2026)👉 Поддержка Kotlin Contract
EXACTLY_ONCE
в coroutine builder-ах👉 Проблемы в работе Android Lint (#2004)
👉 Улучшение документации
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.