Kotlin Multiplatform Broadcast
9.48K subscribers
835 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
В Java 19 появился Project Loom - легковесные (виртуальные) потоки, некий аналог корутин из Kotlin. Автор статьи устроил эксперимент - в качестве CoroutineDispatcher он взял те, что запускают корутину на виртуальных потоках.

В рамках опыта запускается множество корутин с вызовом Thread.sleep(1000), что останавливает выполнение на 1 секунду и сравнивает работы стандарных CoroutineDispatcher с Loom.

Итог - виртуальные потоки позволят без проблем вызывать блокирующий код в неблокирюущем корутин коде вместо ограничений стандартных Dispatcher. Android такого не видать )

#coroutines
😭36👍17🤡10👎4
Инструкция как настроить окружение в Kotlin Multiplatform Mobile в Windows и macOS
👉 установка необходимого софта
👉 Плагины IDE
👉 Kotlin Multiplatform Wizard в IDE
👉 Обзор cгенерированного проекта
👉 Управление зависимостями

#kmm #howto
👍26🍾5👎4
Обзор возможностей for (ну а вдруг вы что упустили)
👀19👍13👎5🌚1
Forwarded from Android Broadcast (Кирилл Розов)
👎11👍8
🤔57👎13👍7🤨5
Вышел Kotlin Dataframe 0.9.1

Библиотека для соединения статической типизации Kotlin c динамической природой данных
👉 Поддержка генерации дата схем на основе OpenAPI 3.0 схем
👉 Новые опции при чтении JSON
👉 Улучшена поддержка Apache Arrow files
🛠️ Исправление багов
🤔14👍43
К релизу готовится kotlinx.serialization 1.5.0
👉 Kotlin 1.8.0
👉 Возможность указании стратегии для всех свойств при конвертации JSON
👉 Новое API JsonUnquotedLiteral, которое позволяет выводить в JSON строки без кавычек
👉 Стабилизация функций serializerserializerOrNull и SerializersModule.serializerSerializersModule.serializerOrNull
 Старое API для полиморфизма теперь помечено как deprecated
👉 ProGuard правила добавлены в JAR сборку
👉 Улучшение скорости работы
🛠️ Исправление багов
👍345🤔2
Forwarded from Mobile Developer (Pavel Kachan)
КАРРИРОВАНИЕ В KOTLIN
https://keygenqt.com/blog/3

Еще помните парня, который сделал кмм приложение на AuroraOS?
Это его статья)

👉 Как выглядят функции двух и более аргументов под капотом
👉 Что такое каррирование
👉 Как и для чего это можно использовать (с примерами)
👍16👎9🌚4
Руководство по настройке KotlinX Serialization для работы с sealed interface для десериализации JSON. Используется поддержка полиморфизма в библиотеке.
29
Вышел Compose Multiplatform 1.3.0

👉 Обновление до последних версий Jetpack Compose
👉 Поддержка Kotlin 1.8
👉 Улучшения на Compose Desktop
🛠️ Исправление багов
👍23
Команда Kotlin в ближайшие полгода сосредоточится над улучшением опыта разработчиков сторонних библиотек, а именно:
👉 улучшение документации
👉 стабильный релиз Dokka
👉 руководства по Kotlin API для авторов библиотек
👍241🔥1
Forwarded from Записки разработчицы (Anna Zharkova)
Аркадий Иванов опубликовал твит о выпуске первой релизной версии своего Decompose - библиотеки для общего UI под KMM:
https://github.com/arkivanov/Decompose/releases/tag/1.0.0
Основные фичи:

Возможность переиспользовать и тестировать компоненты (RIBs-like)
Разделение UI и не-UI кода
Возможность подключать платформоспецифический UI
Собственный DI
Мультиплатформенность
Поддержка сохранения состояния (Android/JVM/Apple)
Используется Compose Android/JVM/iOS/macOS/Web

И еще type-safe мультиплатформенная навигация в KMM
👍26🔥12👎1
Вышел Kotlin 1.8.10 с кучей багфиксов. Пора обновляться?
👀26
Завтра буду записывать интервью с командой Kotlin Multiplatofrom Mobile. накидывайте свои вопросы в комментариях
🔥72👍10❤‍🔥2🍾2
Вышла Kotlin 1.8.20-Beta

👉 Продолжат работать на K2 компилятором
👉 Kotlin Multiplatform теперь поддерживает WebAssembly. Все пока на уровне эксперимента
👉 Новая инкрементальная компиляция в JVM. теперь выключена по умолчанию
👉 Для удаления помечены часть таргетов в Kotlin/Native, а именно iosArm32, watchosX86, wasm32, mingwX86, linuxArm32Hfp, linuxMips32, linuxMipsel32 (подробности тут)
👉 Kotlin Multiplatform поддерживает Gradle composite builds
👉 Поддержка AutoCloseable из Java (экспериментально)
👍2
🔥 Объявили что с выходом K2 компилятора в stable статус состоится выход Kotlin 2.0. Kotlin 1.10 не планируется и следующим релизом после Kotlin 1.9 будет 2.0. Сменой мажорной версии авторы хотят показать значимость перехода на новый компилятор. Никаких breaking changes не планируется и весь код, написанный ранее останется работать в новой мажорной версии.

K2 компилятор исправит множество багов, откроет дорогу новым фичам и конечно же значимо ускорит работу IDE.

Превью новой версии можно попробовать в Kotlin 1.8.20
62🔥21👍1
Какой класс не имеет супертипа в Kotlin?
Anonymous Quiz
13%
Unit
41%
Any
32%
Nothing
13%
Нет правильного ответа
👍58💯1🍾1
В Kotlin заботятся о безопасности. Важным вехой является что любой из нас может собрать тот же самый бинарник Kotlin компилятора, что и выходит в релиз. Kotlin/Native пока еще не покрыт, но будет в ближайшем будущем. Эту фичу активно пропихивала Android команда из Google. Это важно чтобы цепочка инструментов сборки была надежной.

Инструкции и скрипты для сборки последней стабильной версии Kotlin

#security
👍24👎1
Как тип у переменно a d коде fun a(): String { val a = return "" }? (Kotlin 1.8.0)
Final Results
38%
Код не будет компилироваться
25%
String
7%
Any
22%
Nothing
9%
Нет верного ответа
🤯55🥴23🔥6🤡6
Какой из синтаксисов объявления лямбды НЕвалидный в Kotlin?
data class B(val a: String, val b: String)
Anonymous Quiz
8%
val f1: (B) -> Unit = { (a, _) -> Unit }
63%
val f2: (B) -> Unit = { a, b -> Unit }
6%
val f3: (B) -> Unit = { (a, b) -> Unit }
23%
val f4: (B) -> Unit = { (_, _) -> Unit }
👍551👎1