Kotlin (не) против Java: особенности компиляции в байткод (6м) - статья со сравнением языков. Тема скорее кликбейтная и холиварная, чем по-настоящему содержательная: сегодня существенных различий между Java и Kotlin нет.
❤19👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥163🤯26🎉8❤3
Статья (EN, 21м) с описанием подходов безопасного обновления состояния из нескольких потоков. Полезно всем тем кто использует MVI и пишет на Compose
#архитектура @kotlin_broadcast
#архитектура @kotlin_broadcast
👍11❤4
Костя Цховребов сделал Gradle плагин для анализа структуры KMP проектов и визуализации в виде картинки.
Репозиторий с кодом тут
#gradle @kotlin_broadcast
Репозиторий с кодом тут
#gradle @kotlin_broadcast
🔥38🤯10👍9
KStore - простая KMP библиотека, которая помогает сохранять и восстанавливать объекты с/на диск с использованием kotlinx.coroutines, kotlinx.serialization and Okio
#android #ios #desktop #jvm #js
// Описываем сериализуемый объект
@Serializable data class Pet(val name: String, val age: Int)
// Создаёте хранилище
val store: KStore<Pet> = storeOf(file = "path/to/my_cats.json".toPath())
// Делаем операции
val mylo: Pet? = store.get()
store.set(mylo)
store.update { pet: Pet? ->
pet?.copy(age = pet.age + 1)
}
store.delete()
// Получаем обновления
val pets: Flow<Pet?> = store.updates
#android #ios #desktop #jvm #js
🔥30👍4
Kotlin 2.0 уже совсем скоро выйдет и JetBrains во всю готовится к анонсу стабильной версии. Выпустили руководство по миграции на K2 компилятор и изменения в работе языка:
👉 open val свойства с backieng field должны быть сразу же при объявление, раньше можно было сделать в init блоке
👉 Объявление set методы для свойства теперь будет приводить к ошибке
👉 Поменялись требования к подключение типов из модулей
👉 Улучшения интеропа с Java
👉 Исправлено много багов из Kotlin 1.*
#k2
👉 open val свойства с backieng field должны быть сразу же при объявление, раньше можно было сделать в init блоке
👉 Объявление set методы для свойства теперь будет приводить к ошибке
👉 Поменялись требования к подключение типов из модулей
👉 Улучшения интеропа с Java
👉 Исправлено много багов из Kotlin 1.*
#k2
👍37
Также руководство полезно тем что рассказывает про изменения Kotlin 2.0 компилятора:
👉 Что такое Frontend и Backend компилятора
👉 Улучшения в выводе типов (type inference)
👉 Упрощения добавления новых фичей по все поддерживаемые таргеты
👉 Скорость компиляции выросла
👉 Работа IDE и автокомплит стали быстрее и лучше
Попробовать Kotlin уже можно прямо сейчас по инструкции
#k2
👉 Что такое Frontend и Backend компилятора
👉 Улучшения в выводе типов (type inference)
👉 Упрощения добавления новых фичей по все поддерживаемые таргеты
👉 Скорость компиляции выросла
👉 Работа IDE и автокомплит стали быстрее и лучше
Попробовать Kotlin уже можно прямо сейчас по инструкции
#k2
👍22
Продолжение серии статей про использование Kodein. В третьей и заключительной части (9м) автор рассказывает про то как следить за целостностью графа и не получить случайного крэша в runtime. В статье освещаются подходы обеспечения проверки графа через использование только Injection подхода и написание Unit тестов на DI граф
#di #kodein
#di #kodein
Пишите ли вы Koltin Multiplatform в продакшен проектах?
Anonymous Poll
20%
Да
57%
Нет
7%
Пробовали, но не пошло в прод
3%
Что это?
14%
Не участвую в опросе
👍6🤯6🔥1
Touchlab выпустила статью c рекомендациями по ускорению сборки KMP проектов:
🔥 Указывайте точный таск для сборки, а не
🔥 Изучайте логи и ищите странности
🔥 Swift Package Manager и XCFrameworks: что выбрать?
🔥 Не делайте сборок для iOS симуляторов на CI
Как по мне, все рекомендации имеют базовый характер и уж совсем для тех кто не имеет опыта с Gradle и разработкой
#сборка #gradle #kmp
🔥 Указывайте точный таск для сборки, а не
build
, который соберет всё🔥 Изучайте логи и ищите странности
🔥 Swift Package Manager и XCFrameworks: что выбрать?
🔥 Не делайте сборок для iOS симуляторов на CI
Как по мне, все рекомендации имеют базовый характер и уж совсем для тех кто не имеет опыта с Gradle и разработкой
#сборка #gradle #kmp
👍11🔥2
В официально документации от JetBrains появилось руководство "Create a multiplatform app using Ktor and SQLDelight" - как создавать мультиплатформенное приложение с Ktor в качестве сетевого стека, а SQLDelight - как базу данных
#kmp
#kmp
🔥58👍7