Обложка канала

Android Good Reads. Страница 5

2600 @droidgr

Самые интересные статьи, видео и новости, связанные с Android разработкой. Не больше трёх материалов в день.

  • Android Good Reads

    Почему yaml – плохой формат Скорее всего, до вас долетали обрывки споров про то, насколько хорошая идея использовать yaml для различных конфигов. Все сводится к тому, что спецификация Yaml на порядок сложнее, чем JSON. Например, спека предусматривает 63 разных способа объявления multiline строк. Кроме того, она еще и значительно меняется от версии к версии. Вот несколько примеров непредсказуемого поведения YAML конфигов: *️⃣`- 22:22` в зависимости от версии парсера может быть прочитана как строка, а может – как число 1342. *️⃣Некоторые символы считываются как строки, а некоторые оказываются зарезервированы под что-то еще. Например, - *.png – невалидный сниппет, так как * зарезервирована. А - !.git будет считан, как пустая строка. *️⃣Если где-то в конфиге встретится строчка - no, она будет интерпретирована как false, а не как строка. У этого поведения есть даже свое имя – Norway problem, так как региональный код Норвегии, который часто можно встретить в таких конфигах, тоже no. Ах да, так ведет себя только самая новая версия yaml, что добавляет веселья. *️⃣Не стоит использовать ~, так как это алиас для null.
    The yaml document from hell

    As a data format, yaml is extremely complicated and it has many footguns. In this post I explain some of those pitfalls by means of an example, and I suggest a few simpler and safer yaml alternatives.

    Ruudvanasseldonk
  • Android Good Reads

    Как сделать анимацию с помощью MotionLayout (туториал по ссылке) MotionLayout – это контейнер, который позволяет просто создавать сложные анимации, для чего требуется лишь описать сцену. Android-разработчик Павел Беловол рассказывает в своей статье на ХабрХабр, про свой опыт работы с MotionLayout на примере продакшн-задачи в онлайн-кинотеатре KION. Из статьи вы узнаете, где нужно использовать MotionLayout, а где лучше обойтись без него и писать код анимации самостоятельно. Читать здесь.
    Как сделать анимацию с помощью MotionLayout

    Привет, Хабр! Меня зовут Павел Беловол, я Android-разработчик на проекте онлайн-кинотеатра KION в МТС Digital . Это новая часть сериала о внедрении фичи Autoplay в KION, в которой я расскажу про свой...

    Хабр
  • Android Good Reads

    Coroutines и Project Loom Инструкция по тому, как написать свой Dispatcher, который будет работать с Project Loom тредами, и с помощью которого можно писать неблокирующий код, и сравнение его производительности с Dispatchers.IO.
  • Реклама

  • Android Good Reads

    Как новая Android Studio ускорила импорт для Square Одна из фичей, которые появились в Android Studio Electric Eel – parallel project import. Она особенно полезна для больших кодовых баз, состоящих из большого количества Gradle subprojects. Для Square ее использование ускорило импорт проекта на 60% – с 9 до 3.5 минут.
  • Android Good Reads

    Релиз Android Studio Electric Eel Вышла новая стабильная Android Studio поверх IntelliJ Platform 2022.1.1. Самые заметные изменения: 🎨Дизайн - Compose Preview обновляются автоматически - Возможность задать определенный девайс для Compose Preview - Подсвечивание рекомпозиций в Layout Inspector - Линтинг для XML лэйаутов - Единая Problems Panel с репортингом о всех проблемах из разных тулов 🧱Сборка - Улучшена производительность Gradle Sync, аж на 60% - Build Analyzer показывает, как скачивание зависимостей влияет на билд 👀Тулинг - Полностью обновленный Logcat - Новое App Quality Insights окно, которое подтягивает всю информацию из Crashlytics - Возможность создавать эмуляторы десктопа - Мирроринг физического девайса прямо в Android Studio, в то же окно, где показывается эмулятор
  • Android Good Reads

    Проект iosched заархивирован Ушла эпоха – iosched, приложение с расписанием Google I/O, которое работало как пример использования архитектурных рекомендаций Google, официально задепрекейчено и заархивировано. Вместо него будет обновляться Now in Android.
  • Android Good Reads

    Вводное видео в CameraX CameraX – новая Jetpack библиотека, которая берет на себя все взаимодействие с камерой и обработку эдж-кейсов, связанных с поведением разных девайсов. Во вводном пятиминутном видео рассказывается про основные концепции библиотеки и сценарии, в которых она вам может пригодиться.
  • Android Good Reads

    Плагин с миникартой для IntelliJ Во многих редакторах кода есть топовая фича – миникарта открытого сейчас файла. Она упрощает навигацию для тех, кому проще это делать визуально, а не по сигнатурам. В платформу IntelliJ фичу пока не втаскивают, поэтому вместо этого можете попробовать плагин CodeGlance.
  • Android Good Reads

    Планы по улучшению поддержки Kotlin в IDE Один из основных фокусов команды Kotlin на ближайшие полгода – переписывание IDE поддержки языка на новый К2 компилятор. Этот проект в первую очередь направлен на то, чтобы улучшить стабильность анализа кода и скорость навигации, автокомплишна и подсветки кода и в IDEA, и в Android Studio. Первая публичная версия нового плагина для IDEA выйдет в июле 2023. Важный момент – первый релиз будет Lightweight версией, которая включает в себя только самые базовые IDE фичи: 🛠️Полноценная подсветка кода и Find Usages 🛠️Базовые автокомплишн и дебаггер 🛠️Основные рефакторинги и code insight фичи (go to declaration, parameter info и т.д.) 🛠️Самые частоиспользуемые инспекции 🛠️Поддержка мультиплатформы и gradle.kts Старый и новый плагин какле-то время будут жить вместе, так что вы сможете выбирать, что вам важнее – полный список текущих IDE фичей или быстрый перфоманс.
    First public release of the K2-based IntelliJ plugin : KTIJ-23988

    Summary [The creation of the new Kotlin K2 compiler](https://youtrack.jetbrains.com/issue/KT-52604/Release-K2-Beta) is also aimed at improving the IDE experience. Performance and quality are the main focuses of the new product. By July 2023, we are going to release the first public version of the IntelliJ plugin that will be based on the new compiler. The estimated date may change as it depends on the K2 compiler Beta release. The general properties of this plugin include: * Faster code completion, highlighting, and element search operations (Find Usages, Navigation, etc.). * More stable code analysis. * Fewer features. We also call it the “Lightweight” release, as not all IDE features are implemented. We are not trying to implement as many features as possible, but we are focused on their quality. Plans We plan to support the following features in the Lightweight release: * Full code highlighting * Basic code completion * Debugger - Breakpoints - The most frequently used stepping - Evaluate expression * Find…

    YouTrack
  • Android Good Reads

    Сколько можно заработать на книге про Android Автор блога Effective Android, статьями из которого я регулярно делюсь, написал книгу про внутреннее устройство Jetpack Compose. С этого момента прошло уже полтора года, и он поделился своим опытом авторства. Писать книгу про внутреннее устройство фреймворка довольно тяжело, потому что оно может меняться очень часто, и книгу вместе с ним придется обновлять. Для Compose, который только-только зарелизился, это особенно актуально. Продажи принесли ему $32k за все время, но это до вычета налогов. Кроме этого, он еще смог привлечь спонсоров, которые принесли дополнительные $6.5k.
    Writing a technical book ✍️ 📖

    My complete experience, learnings and earnings included 💸

    Effective Android
  • Android Good Reads

    Как написать свой сериализатор для kotlinx.serialization Ядро kotlinx.serialization поддерживает не так много форматов – JSON, Protobuf и несколько других. Поддержкой сериализации других форматов в основном занимается коммьюнити. Автор библиотеки KToml рассказывает о деталях устройства и работы kotlinx.serialization и накидывает кучу советов по тому, как писать свои собственные сериализаторы. Слайды доклада
  • Android Good Reads

    Генеративное искусство на Compose Desktop 18 января пройдет вебинар, на котором Антон Архипов из команды Kotlin покажет, как можно использовать Compose Desktop для отрисовки сложных геометрических фигур и генеративного арта. Вполне себе идея для вашего пет-проекта!
  • Android Good Reads

    Работа с фокусом в Compose - Compose дает несколько API для управления фокусом текстовых полей: FocusManager, FocusRequester и различные модификаторы. - В статье разбирается, как с помощью этих API можно получить текущий фокус, переместить его на другое поле, определив их порядок, и очистить его.
    How to handle focus in Jetpack Compose with examples

    This guide will show you how to handle text focus in Jetpack Compose. There are different APIs responsible for different functionalities around text focus: the FocusRequester, the FocusManager and the various focus related Modifiers. We'll cover all of them and how to utilize them in your Jetpack Compose applications.

    Composables – Jetpack Compose articles, resources and tools
  • Android Good Reads

    Тултипы в Compose с помощью библиотеки Balloon - Balloon – библиотека для создания анимированных интерфейсных подсказок, которые очень хорошо кастомизируются. Библиотека полностью совместима с Compose. - В статье приводится пример ее использования для создания простого тултипа.
  • Android Good Reads

    Сравнение перфоманса разных бэкендов Kotlin Таблица с оценкой перфоманса разных способов компиляции Kotlin-кода и размера получающихся артефактов. Важно помнить, что любые бенчмарки показывают только часть картины, и к ним нужно относиться изначально довольно скептично. Как минимум, оценка производительности на числодробилке будет значительно отличаться от работы с Android проектами.
  • Реклама

  • Android Good Reads

    KEEP про data objects - Data objects – новая фича Kotlin, которая совмещает data classes и objects. Например, вы сможете объявлять синглтоны, у которых из коробки будет реализована функция toString. - Превью data objects появится в Kotlin 1.8.20, а стабильная фича выйдет в 1.9.0. - В KEEP хорошо разобраны спорные вопросы, приведены сравнения с другими языками и подробно описан дизайн фичи.
  • Android Good Reads

    Бенчмарк переезда AGP с JDK 11 на JDK 17 Android Gradle Plugin 8.0.0 будет требовать использования JDK 17. Автор статьи решил посмотреть, как изменение версии Java повлияет на перфоманс, и замерил несколько сценариев работы с приложением Now in Android.
  • Android Good Reads

    Алгоритмический трейдинг на Kotlin Если вы еще не решили, каким пет-проектом заняться в начале года, отличный кандидат – вкатиться в алгоритмический трейдинг. Если вы никогда о нем не слышали, вот вам выпуск Подлодки по теме. А для реализации можете взять библиотеку Roboquant, которая предоставляет кучу готовых абстракций, и умеет интегрироваться как с обычным кодом, так и с Jupyter ноутбуками.