#Compose #Desktop
Вышел Jetpack Compose for Desktop: Milestone 2 с множеством улучшений для разработчиков и interoperability. Что нового:
👉 Обновленный wizard проекта
👉 Поддержка Gradle 6.6 и 6.7
👉 Поддержка macOS 10.13 и 10.14
👉 Поддержка Apple Silicon
👉 Возможность встраивания Compose for Desktop в Swing приложения
👉 Поддержка Android XML иконок
Вышел Jetpack Compose for Desktop: Milestone 2 с множеством улучшений для разработчиков и interoperability. Что нового:
👉 Обновленный wizard проекта
👉 Поддержка Gradle 6.6 и 6.7
👉 Поддержка macOS 10.13 и 10.14
👉 Поддержка Apple Silicon
👉 Возможность встраивания Compose for Desktop в Swing приложения
👉 Поддержка Android XML иконок
#Database #NoSQL
Realm Kotlin - популярная NoSQL база данных теперь поддерживает Kotlin Multiplatform и Android, вместо того чтобы использовать Java вариант. Библиотека находится в состоянии разработки
Realm Kotlin - популярная NoSQL база данных теперь поддерживает Kotlin Multiplatform и Android, вместо того чтобы использовать Java вариант. Библиотека находится в состоянии разработки
#Kotlin #IDEA
Kotlin Plugin Released With IDEA 2020.3
Разработка Kotlin плагина переехала в репозиторий IDEA и стала его частью, чтобы упростить интеграцию последних фичей платформы. Теперь мажорные релизы Kotlin плагина будут выходить вместе с IDE от JetBrains.
В последнем релизе 2020.3 добавили такие функции:
👉 Inline рефакторинг в разных языках
👉 Поддержка структурного поиска и замены для Kotlin, позволяющие искать код по шаблону
👉 Поддержка настроек форматирования кода для Kotlin плагина в .editorconfig
👉 Новые шаблоны для Jetpack Compose for Desktop и KMP
Kotlin Plugin Released With IDEA 2020.3
Разработка Kotlin плагина переехала в репозиторий IDEA и стала его частью, чтобы упростить интеграцию последних фичей платформы. Теперь мажорные релизы Kotlin плагина будут выходить вместе с IDE от JetBrains.
В последнем релизе 2020.3 добавили такие функции:
👉 Inline рефакторинг в разных языках
👉 Поддержка структурного поиска и замены для Kotlin, позволяющие искать код по шаблону
👉 Поддержка настроек форматирования кода для Kotlin плагина в .editorconfig
👉 Новые шаблоны для Jetpack Compose for Desktop и KMP
Lets-Plot, in Kotlin - это open-source библиотека от JetBrains для построения графиков на основе статических данных. Библиотека написана полностью на Kotlin. Библиотека поддерживает различные типы графиков,
#gRPC #Android
Announcing gRPC Kotlin 1.0 for Android and Cloud
Добавить особого нечего. Если вы используете Kotlin и gRPC - тогда вас новость очень сильно обрадует.
Announcing gRPC Kotlin 1.0 for Android and Cloud
Добавить особого нечего. Если вы используете Kotlin и gRPC - тогда вас новость очень сильно обрадует.
#KMP #Multithreading
Kotlin Multiplatform. Работаем с многопоточностью на практике
Разбор применения Coroutine в мультиплатформенном проекте, причем чтобы все это работало во множестве потоков. Для iOS используется специальная версия библиотеки
Kotlin Multiplatform. Работаем с многопоточностью на практике
Разбор применения Coroutine в мультиплатформенном проекте, причем чтобы все это работало во множестве потоков. Для iOS используется специальная версия библиотеки
kotlinx-coroutines
с постфиксом native-mt
в версии, которая позволяет обойти текущие ограничения основной.Вышел Detekt 1.15.0
👉 Улучшение работы правил
👉 Новые правила: RedundantHigherOrderMapUsage, ListAllWhenCases, UseIfEmptyOrIfBlank
👉 Поддержка SARIF в качестве выходного формата
👉 Исправление багов
👉 Улучшение работы правил
👉 Новые правила: RedundantHigherOrderMapUsage, ListAllWhenCases, UseIfEmptyOrIfBlank
👉 Поддержка SARIF в качестве выходного формата
👉 Исправление багов
Вышел первый milestone Kotlin 1.4.30
Kotlin 1.4.30 готовиться к релизу, а пока можно ознакомиться с предварительной версией. В ней значительно ускорена сборка Kotlin/Native и не ломается обратная совместимость.
Обновились inline классы. Появилась поддержка непубличного primary конструктора и init блока
Традиционно улучшили производительность и исправили баги
Kotlin 1.4.30 готовиться к релизу, а пока можно ознакомиться с предварительной версией. В ней значительно ускорена сборка Kotlin/Native и не ломается обратная совместимость.
Обновились inline классы. Появилась поддержка непубличного primary конструктора и init блока
Традиционно улучшили производительность и исправили баги
#KMP #Network
Using Retrofit and Alamofire with Kotlin Serialization on Kotlin Multiplatform
В современной разработке приложений не обойтись без сетевого слоя. Я как Android разработчик сходу отвечу вам, что если у вас REST - берем Retrofit. На KMP стоит брать Ktor. Что делать тем кто пришел с iOS и хочет Alamofire?
В статье приводится пример использовать Retrofit на Android и Alamofire на iOS в KMM. Мой вывод из статьи - проще было взять Ktor
Using Retrofit and Alamofire with Kotlin Serialization on Kotlin Multiplatform
В современной разработке приложений не обойтись без сетевого слоя. Я как Android разработчик сходу отвечу вам, что если у вас REST - берем Retrofit. На KMP стоит брать Ktor. Что делать тем кто пришел с iOS и хочет Alamofire?
В статье приводится пример использовать Retrofit на Android и Alamofire на iOS в KMM. Мой вывод из статьи - проще было взять Ktor
Improvements to inline classes in Kotlin 1.4.30
В Kotlin 1.4.30 нас ждут улучшения в Inline классах:
👉 Возможность использовать
👉 Primary конструктор может быть не только public
Подробнее в статье
В Kotlin 1.4.30 нас ждут улучшения в Inline классах:
👉 Возможность использовать
init { }
блок👉 Primary конструктор может быть не только public
Подробнее в статье
#JVM
Tonnes of fun with Kotlin
Kotlin упростил жизнь разработчиков, закрыв множество кода от глаз, генерируя его. Но не всегда так очевидно и нужно быть внимательным:
👉 Extention функции не всегда статические методы
👉 Inline классы не всегда встраиваются в код, а используются как обычные классы
👉 Неочевидное перекрытие имен c extention функциями и обычными
👉 Особенности работы методов по умолчанию в интерфейсах неочевидны в каждом случае
Tonnes of fun with Kotlin
Kotlin упростил жизнь разработчиков, закрыв множество кода от глаз, генерируя его. Но не всегда так очевидно и нужно быть внимательным:
👉 Extention функции не всегда статические методы
👉 Inline классы не всегда встраиваются в код, а используются как обычные классы
👉 Неочевидное перекрытие имен c extention функциями и обычными
👉 Особенности работы методов по умолчанию в интерфейсах неочевидны в каждом случае
👍1
Kotlin Christmas - ресурс, где вы найдете множество интересных статей по Kotlin, библиотеках, фреймворках и лучших практик!
#Coroutines
Coroutines Job Structures
Связь между coroutine и CoroutineScope осуществляется через Job. Эти отношения определяют, как библиотека будет отменять выполнение coroutine.
В статье разбирается несколько примеров, демонстрирующих работы как отношения между Job влияют на поведение отмены coroutine.
Coroutines Job Structures
Связь между coroutine и CoroutineScope осуществляется через Job. Эти отношения определяют, как библиотека будет отменять выполнение coroutine.
В статье разбирается несколько примеров, демонстрирующих работы как отношения между Job влияют на поведение отмены coroutine.
#Compose #Ktor
Composing in the wild (8 минут чтения)
Пример нестандартного использования Compose на backend. Механизм на основе которого построено решение может быть использован не только для решения задачи декларативного UI, но и для эффективного построения и поддержки древоподобных структур данных.
В статье разбирается пример использования Compose для построения DOM, а именно HTML и CSS и отправки этого на клиент.
Composing in the wild (8 минут чтения)
Пример нестандартного использования Compose на backend. Механизм на основе которого построено решение может быть использован не только для решения задачи декларативного UI, но и для эффективного построения и поддержки древоподобных структур данных.
В статье разбирается пример использования Compose для построения DOM, а именно HTML и CSS и отправки этого на клиент.
#Multiplatform #iOS
Варианты настройки iosMain sourceSet'а в Kotlin Multiplatform Mobile
Организация sourceSet для iOS в KMP проектах с учетом различных архитектур процессоров и как в этом помогает утилита Commonizer из Kotlin 1.4
Варианты настройки iosMain sourceSet'а в Kotlin Multiplatform Mobile
Организация sourceSet для iOS в KMP проектах с учетом различных архитектур процессоров и как в этом помогает утилита Commonizer из Kotlin 1.4
#Coroutines
7 Gotchas When Explore Kotlin Coroutine
Coroutine - это подход в асинхронном программировании, который был непривычен для меня, Android разработчика. В своё время я совершил много ошибок, пока осознавал правильный способ использования этого подхода. В статье приводятся популярные ошибки:
👉 Неверное использование runBlocking
👉 Отмена исполнения Coroutine
👉 Особенности работы из-за structured concurrency
👉 Неверная работа с CoroutineScope
7 Gotchas When Explore Kotlin Coroutine
Coroutine - это подход в асинхронном программировании, который был непривычен для меня, Android разработчика. В своё время я совершил много ошибок, пока осознавал правильный способ использования этого подхода. В статье приводятся популярные ошибки:
👉 Неверное использование runBlocking
👉 Отмена исполнения Coroutine
👉 Особенности работы из-за structured concurrency
👉 Неверная работа с CoroutineScope
#AndroidBroadcast
📺 Планы Android Broadcast 2021 (21 мин)
Рассказал как остался без работы, что планирую делать дальше и об амбициозных планах на 2021 по развитию Android Broadcast.
📺 Планы Android Broadcast 2021 (21 мин)
Рассказал как остался без работы, что планирую делать дальше и об амбициозных планах на 2021 по развитию Android Broadcast.
Higher order functions, how, why and what not to do.
Разбор разлиных аспектов высокоуровневых функций в Kotlin
Разбор разлиных аспектов высокоуровневых функций в Kotlin