Kotlin Multiplatform Broadcast
9.7K subscribers
863 photos
55 videos
1.17K links
Новости и фичи Kotlin, а также Kotlin Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
Вышел KotlinX Serialization 1.8.0
👉 Аннотация @JsonIgnoreUnknownKeys - позволит игнорировать неизвестные ключи для отдельных классов, а раньше только можно было для всех классов
👉 Стабилизация SerialDescriptor API и @SealedSerializationApi
👉 Для Java 8 и выше теперь генерируются реализации методов по умолчанию в интерфейсах. Для совместимости работы с предыдущей версии сгенерированного кода добавьте опцию all-compatibility
🛠 Исправления и небольшие улучшения

#kotlin #kotlinx
👍22🔥10
Советы по использованию kotlinx.serialization
👉 Создание собственных сериализаторов для данных
👉 Разные способы десериализации Enum Class
👉 Inline сериализация - десериализация объекта в JSON в простой объект вместо Kotlin класса
👉 Полиморфная сериализация - получения разных классов, на основе данных в JSON объекте. Полезно для sealed классов/интерфейсов
👉 Оптимизация JSON
👉 Работа со сложными типами данных
👉 Советы по использованию для высокой скорости работы

#kotlin #kotlinx #serialization #json
21👍8
🏝 Вышел KotlinX Serialization 1.9.0 без серьёзных изменений кроме обновления до Kotlin 2.2.0 и предоставления сериализаторов для kotlin.time.Instant

#kotlin #kotlinx
Please open Telegram to view this post
VIEW IN TELEGRAM
24🎉10👍4🔥3
🏝 Советы по миграции с Java Time API на Kotlin Time (EN, 6м)

При миграции Android-проекта в Kotlin Multiplatform я столкнулся с тем, что Java-временные API пронизывают весь код и все слои — от модели данных до форматирования в UI. В итоге пришлось делать массу правок вручную.

Рекомендую заранее перейти на kotlinx-datetime, чтобы:
избежать боли при миграции;
использовать единый кроссплатформенный API;
получить чистый, предсказуемый код без зависимости от Java-библиотек.

Если вы только начинаете внедрять KMP — начните именно с этого шага. Он окупится многократно. Подробно про опыт миграции можно найти в статье (альтернативная ссылка)

Из интересного - добавление Detekt правила для ограничения на использование импортов Java Time:
ForbiddenImport:
active: true
imports:
- reason: 'Use Kotlin Time in new code'
value: 'java.util.concurrent.TimeUnit'
- reason: 'Use Kotlin Time in new code'
value: 'java.time.*'


#kotlin #kotlinx #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍202