Kotlin Multiplatform Broadcast
9.48K subscribers
834 photos
53 videos
1.13K links
Новости и фичи Kotlin, а также Kotlin Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
GitLive Case Study: Kotlin Multiplatform Across Desktop and Mobile

GitLive - это тулза для коллаборации и взаимодействия команд разработчиков в реальном времени. Они применили Kotlin Multiplatform для шаринга кода между плагинами для IDE и мобильными приложениями. Код шарился между Android, iOS, JVM and Node.JS

О результатах, как это устроено и почему выбрали эту технологию смотрите в статье
#Compose #Web

Compose for Web Demos

Compose активно разрабатывается под Android, официально представлена версия для Desktop, так в JetBrains уже экспериментируют над тем чтобы запустить это и для Web.
#Webinar #Kotlin #Kafka

Apache Kafka® Event Streaming Platform For Kotlin Developers
10 декабря в 19.30 (GMT+ 3). Язык - английский

10 декабря JetBrains организует вебинар, посвященный использованию Kafka в серверных приложениях на Kotlin.

Вебинар будет интересен разработчикам, которые уже использую Kotlin для серверных приложений, а также тем, кто только планирует начать.
 
Ведущие: 
😎 Антон Архипов, Dev Advocate в JetBrains 
😎 Виктор Гамов, Dev Advocate в Confluent

Чтобы получить уведомление за день до вебинара и приглашение для вашего календаря зарегистрируйтесь по ссылке
#KMP

Okio's Kotlin Multiplatform Files API

Авторы библиотеки Okio (OkHttp, Retrofit и др.) активно работают над реализацией мультиплатформенного API для работы с файлами и потоками. Сделано уже много чего, ждем полноценного релиза библиотеки в KMP варианте
Обновлен сайт с документацией по Kotlin. Из основных новинок можно отметить:
👉 Поддержка мобильных устройств
👉 Обновление UI
👉 Более простая навигация
👉 Возможность оставить отзыв на любой странице
👉 Возможность скопировать одним кликом

Скоро будет больше фич, а также поддержка темной темы
#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 иконок
#Database #NoSQL

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
Lets-Plot, in Kotlin - это open-source библиотека от JetBrains для построения графиков на основе статических данных. Библиотека написана полностью на Kotlin. Библиотека поддерживает различные типы графиков,
#gRPC #Android

Announcing gRPC Kotlin 1.0 for Android and Cloud

Добавить особого нечего. Если вы используете Kotlin и gRPC - тогда вас новость очень сильно обрадует.
#KMP #Multithreading

Kotlin Multiplatform. Работаем с многопоточностью на практике

Разбор применения Coroutine в мультиплатформенном проекте, причем чтобы все это работало во множестве потоков. Для iOS используется специальная версия библиотеки kotlinx-coroutines с постфиксом native-mt в версии, которая позволяет обойти текущие ограничения основной.
Вышел Detekt 1.15.0
👉 Улучшение работы правил
👉 Новые правила: RedundantHigherOrderMapUsage, ListAllWhenCases, UseIfEmptyOrIfBlank
👉 Поддержка SARIF в качестве выходного формата
👉 Исправление багов
Вышел первый milestone Kotlin 1.4.30

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
Improvements to inline classes in Kotlin 1.4.30

В Kotlin 1.4.30 нас ждут улучшения в Inline классах:
👉 Возможность использовать init { } блок
👉 Primary конструктор может быть не только public

Подробнее в статье
#JVM

Tonnes of fun with Kotlin

Kotlin упростил жизнь разработчиков, закрыв множество кода от глаз, генерируя его. Но не всегда так очевидно и нужно быть внимательным:
👉 Extention функции не всегда статические методы
👉 Inline классы не всегда встраиваются в код, а используются как обычные классы
👉 Неочевидное перекрытие имен c extention функциями и обычными
👉 Особенности работы методов по умолчанию в интерфейсах неочевидны в каждом случае
👍1
Kotlin Christmas - ресурс, где вы найдете множество интересных статей по Kotlin, библиотеках, фреймворках и лучших практик!
#KMP

Cabret - мультиплатформенная библиотека, которая позволит вам логировать вызовы функций, помечая их аннотацией @DebugLog. Под капотом используется плагин компилятора.
#Coroutines

Coroutines Job Structures

Связь между coroutine и CoroutineScope осуществляется через Job. Эти отношения определяют, как библиотека будет отменять выполнение coroutine.

В статье разбирается несколько примеров, демонстрирующих работы как отношения между Job влияют на поведение отмены coroutine.
#Compose #Ktor

Composing in the wild (8 минут чтения)

Пример нестандартного использования Compose на backend. Механизм на основе которого построено решение может быть использован не только для решения задачи декларативного UI, но и для эффективного построения и поддержки древоподобных структур данных.

В статье разбирается пример использования Compose для построения DOM, а именно HTML и CSS и отправки этого на клиент.