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

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
#Coroutines

Вышел Release Candidate следующей версии библиотеки Coroutines - 1.5.0-RC. Нас ждёт:
👉 массовая чистка Channel API и удаление уже depracted API ранее.
👉BroadcastChannel и ConflatedBroadcastChannel помечены как ObsoleteCoroutinesApi. Используйте SharedFlow или StateFlow
👉callbackFlow и channelFlow теперь стабильна
👉интеграция с другими реактивными библиотеками теперь полностью стабильна и улучшена работа
👉Новые операторы Flow
👉Улучшение производительности
👉Исправление багов
#Serializarion

Вышла kotlinx.serialization 1.2.0
🚀 Ускорение кодирования и декодирования JSON
👉 Возможность задавать несколько имён одному и то же property
👉 JsonConfiguration теперь часть публичного API
👉 Генерация .proto файлов на основе сериализуемых Kotlin классов
👉 Сериализация generic классов
🕓 Поддержка watchOS
🔨 Исправление багов
Новая библиотека Reflekt от JetBrains Research, которая в compile time заменяет вызовы рефлексии на обычные API, что позволяет не тормозить приложения во время работы.
#Multipalform #Mobile #Пример

Вышел официальный пример на KMM - KMM RSS Reader

Приложение является официальным примером от JetBrains реализации мобильного приложения для iOS и Android на основе Kotlin Mutiplatform Mobile. Построено всё по принципам Clean Architecture и используется Redux подобный подход. Приложение использует:
👉 Jetpack Compose
👉 SwiftUI
👉 Coroutines
👉 KotlinX Serialization
👉 Ktor Http Client
👉 Modo

В README вы найдете все подробности и детали архитектуры приложения.
Effective Kotlin Item 36: Prefer composition over inheritance

Рассказа почему композиция лучше наследования и какие ограничения накладываются механизмом наследования в Kotlin/Java
#Compose

Technology Preview: Jetpack Compose for Web

Compose уже не только в Java мире, но и в JS - тех превью Compose для Web уже здесь! Оно полностью не готово для использования в реальных приложениях или проводить тесты производительности, но вы уже можете посмотреть на видение реализации JetBrains.

Landing страницу Compose for Web уже переписали на новый инструмент
Вышел Kotlin 1.5.0

Новая версия языка Kotlin уже доступна официально для всех и мы получаем:
🔥 Новый JVM IR компилятор теперь является основным. Это приближает релиз Jetpack Compose 1.0 ближе
👉 Поддержка JVM records (Android разработке недоступна) аля data clas
👉 sealed interface
👉 value классы, которые пришли на смену inline классам
👉 value классы сменили inline и теперь они stable
👉 Улучшения в sealed классах

Стандартная библиотека
👉 unsigned числовые типы теперь стабильные
👉 Расширения для java.nio.file.Path
👉 Улучшения в String и Char API
👉 Улучшение тестовой библиотеки

JVM
👉 Компиляция SAM адаптеров и лямбд в invokedynamic
👉 Target JVM 1.8 теперь основной, а 1.6 - deprecated
👉 Улучшение обработки nullability из Java

Также без улучшений скорости не остался Kotlin/Native, а Kotlin/JS IR компилятор перешёл в Beta.

25 мая пройдет Kotlin 1.5 Online Event. Регистрация бесплатная
#AndroidBroadcast #Kotlin

📺 Что нового в Kotlin 1.5.0

Не успела новая версия языка выйти, а на YouTube уже разбор всех возможностей
#Serialization

kotlinx.serialization 1.2 Released: High-Speed JSON Handling, Value Class Support, Overhauled Docs, and more

Я уже рассказывал о новых возможностях Kotlinx Serialization, но вот вам официальный анонс и видео
#Corouitnes #Flow

Things to know about Flow’s shareIn and stateIn operators

Разбор как операторы shareIn и stateIn как могут увеличить производительность в отдельных случаях, демонстрация разницы между ними и ошибки, которые пользователи могут допустить с ними
Вышла kotlinx-datetime 0.2.0
👉 Поддержка kotlinx.serialization
👉 Нормализация компонентов DateTimePeriod 
👉 Возможность парсинга Instant из строки со смещением UTC
Вышел Detekt 1.17.0. Как всегда, улучшения, исправления багов, пара новых проверок. Обновляться стоит, чтобы улучшить качество кода. Про поддержку Kotlin 1.5.0 ничего не написали
Вышла библиотека Kotlinx Coroutines 1.5.0. Значимых изменений по сравнению с 1.5.0-RC1 нет.
#Coroutines

Kotlin Coroutines 1.5: GlobalScope Marked as Delicate, Refined Channels API, and More

Вышла новая версия библиотеки Kotlinx coroutines. Важных изменений по сравнению с RC нет. Рассказывал про них здесь
#Roadmap

Обновление Kotlin Roadmap май 2021

Из приоритетов команды на следующие полгода:
👉 Новый компилятор (IR)
👉 Улучшение IDE
👉 Kotlin Multiplatform Mobile
👉 Kotlin для серверной JVM разработки
#KotlinNative

Kotlin/Native Memory Management Update

В 2020 анонсировали переработку управления памятью в Kotlin/Native. В конце лета 2021 обещают показать dev preview. В статье рассказывается про сборщики мусора и в каком состоянии сейчас находится новый GC
Forwarded from Android Broadcast
#Kotlin

Вышел Kotlin 1.5.10 в котором исправили множество багов в JVM IR и другие баги
#KMM

What’s new in KMM since going Alpha

Отчёт по состоянию Kotlin Multiplatform Mobile с его выхода в альфу в августе 2020:
👉 Интеграция с iOS в KMM плагине для Android Studio
👉 Wizard для создания KMM проекта
👉 Улучшение интеграции с Kotlin/Native
👉 Рост KMM сообщества
👉 Появление крутых библиотек для KMM: Decompose, Realm, Koin и др.
👉 Множество примеров KMM проектов
👉 Netflix и Philips используют эти технологии
👉 Больше документации на официальном сайте
👉 Видео на YouTube канале Kotlin
Вообщем ждём окончания рефакторинга, чтобы получить кучу классного в Kotlin. Делать новые фичи во время работы над новым Kotlin Compiler Frontend IR больно
#iOS

Writing Kotlin Parcelize compiler plugin for iOS

Опыт написания плагина Kotlin компилятора для iOS, чтобы сделать свой вариант kotlin-parcelize. Результат kotlin-parcelize-darwin.