При миграции 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
👍20❤2
Какой из этих стримов является холодным ?
Anonymous Quiz
66%
Flow
18%
StateFlow
12%
SharedFlow
5%
Не участвую
❤10👍9🔥4🤔2
У какого типа flow всегда есть значение?
Anonymous Quiz
3%
Flow
5%
SharedFlow
82%
StateFlow
7%
MutableSharedFlow
3%
Не участвую
❤7👍6
Какой размер buffer по умолчанию в MutableSharedFow ?
Anonymous Quiz
47%
0
30%
1
19%
Int.MAX_VALUE
5%
Не участвую
👍12❤1
Каков тип результата вызова MutableSharedFlow<Int>().map { it.toString() }?"
Anonymous Quiz
23%
MutableSharedFlow<String>
19%
SharedFlow<String>
48%
Flow<String>
6%
Другой тип
4%
Не участвую
❤20🔥9👍4
Вы используете stateIn для преобразования Flow в StateFlow в вашем ViewModel. Вы хотите, чтобы поток оставался активным и не отменялся, даже если экран будет свернут на несколько секунд (все отпишутся). Какую политику выбрать?
Anonymous Quiz
36%
Eagerly
34%
WhileSubscribed() //значения параметров по умолчанию
14%
Lazily
5%
Другой вариант ответа
11%
Не участвую
🤔35👍6❤1
Команда разработчиков представила версию 1.8.0, включающую:
👉 Поддержку languageVersion = KOTLIN_2_0, чтобы обеспечить совместимость с Kotlin 2.0.
👉 Возможность проще создавать собственные правила линтинга (custom ruleset).
👉 Новое правило then-spacing для улучшения читаемости кода.
🛠 Различные минорные улучшения и исправления
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍7