Kotlin Multiplatform Broadcast
9.48K subscribers
834 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
Вышел Koin Annotations 1.4.0 Stable
👉 Создание модулей на старте
👉 Поддержка WASM
👉 Поддержка Qualifier
👉 Поддержка object модулей
👉 Сканирование множества модулей для поиска объявление зависимостей
👉 Обновили документацию для KMP
👉 Улучшили валидацию объявлений во время компиляции
👉 Рефакторинг кодогенерации для KMP проектов для решения багов и улучшения скорости работы

#koin #di #wasm
🔥18👍9
Вышел Decompose 3.2.0
👉 Экспериментальная фича - дублирование конфигураций
👉 Новое экспериментальное API для работы с анимациями и поддержкой Shared Element Transitions
👉 Стабильное Child Pages API
👉 Новая модель навигации - Child Panels (аналог List-Details Layout)
👉 Новые экспериментальные API - StateKeeper.saveable(...) и StateKeeperOwner.saveable(...)
👉 Стабильный InstanceKeeperOwner.retainedInstance { ... }
🛠 Исправления и улучшения API

#arkivanov #kmp
🔥51👍41
Вышел KtLint 1.4.0. Значительных изменений/улучшений на мой взгляд нету. Кажется, инстрeмент вышел на плато и спокойно дорабатывается

#инструменты
👍14
Разбор(4м) способов синхронизации доступа к переменной на примере инкремента int из разных корутин

#coroutines
👍26🔥5
LogKat - KMP библиотека с поддержкой Android и iOS для логирования
👍32
missing-annotations-therapist - плагин Kotlin компилятора для добавления аннотаций над методами по указаной спецификации

#kotlin
👍19
Опубликовали дорожную карту развития Kotlin Multiplatform на 2025
👩‍💻 Поддержка всех фичей из Jetpack Compose
👩‍💻 Стабилизация Compose iOS
🤯 Отдельная Kotlin Multiplatform IDE
👩‍💻 Сборка Apple билдов в облаке, чтобы помочь разработчикам без mac
👩‍💻 Kotlin-to-Swift export - релиз первой публичной версии в 2025 году

Разработка библиотек
👩‍💻 Инструмент для верификации совместимости публичного API разных версих KMP библиотек
👩‍💻 Шаблоны и рук-ва для создания и публикации KMP библиотек
👩‍💻 Релиз полностью обновленного процесса публикации KMP библиотек
👩‍💻 Улучшения процесса документации
👩‍💻 Работают над улучшением поиска библиотек с поддержкой KMP

#kotlin #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥46👍11
Amper будет полностью поддерживать KMP и Compose MP для Android и iOS
👉 запуск тестов локально и в CI
👉 публикация билдов в Google Play и App Store
👉 будет лучшая интеграция с IDE

#amper #kmp #android #ios
👍17
Также ждут и улучшения в Gradle для KMP в 2024
👉 Объявление зависимостей проекта на уровне проекта, а не через KMP плагин
👉 Лучше интеграция инструментов Kotlin/Native
👉 Поддержка klib
👉 Предоставление полной поддержки KMP в Declarative Gradle

Также ведут работу над поддержкой Gradle Project Isolation, документацию по API Kotlin Gradle плашина и др. инициативы

#gradle #kmp
👍221
Дали уточнение про новую IDE для KMP разработки - это не будет Fleet, а решение на её основе, с фокусом для KMP разработки под мобилку (Android, iOS).

#kmp #fleet #ide
👍532
Yandex MapKit KMP SDK - библиотека обертка над Yandex Map Kit для Android и iOS

Поддерживает несколько способов взаимодействия для обеспечения постепенной интеграции в приложение. Можно вынести логику в Kotlin common код и иcпользовать нативный UI или взять реализацию на Compose Multiplatform

Больше подробностей смотрите в статье

#yandex #карты #kmp #android #ios
👍32🔥5
Jetpack Annotations добавили поддержку JS таргета

#jetpack #js
👍7
Нашел на странице поддержки Kotlin Multiplatform Jetpack таблицу с описанием поддержки разных таргетов:

Tier 1:
✔️ Полностью тестируется в CI
✔️ Отслеживание API и бинарной совместимости в соответствии с нашими правилами Jetpack

Tier 2:
Частично тестируется в CI
Без отслеживания какой-либо совместимости между версиями

Tier 3:
Не тестируется в CI
Без отслеживания какой-либо совместимости между версиями

#jetpack
Please open Telegram to view this post
VIEW IN TELEGRAM
👍211
Если ваш класс на вход получает Kotlin коллекцию, но я рекомендую вам делать копию чтобы защититься от изменений коллекции по ссылке

val list = mutableList<Any>()

class A(input: List<Any>) {
// Делаем копию входного списка чтоб модификация list не влияла на input
val input = input.toList()
}
👍29
Kotlin Multiplatform IO - порт Java IO API (Reader, InputStream, BufferedReader и других) на KMP с поддержкой #android #jvm #ios #desktop #js @wasm и других таргетов
👍20🔥72
Разбор(EN,8м) как работают object в Kotlin и во что трансформируется в JVM

#подкапотом #kotlin
👍32
Burst 2.0 - библиотека для параметризированных тестов, реализованная как плагин Kotlin компилятора с поддержкой всех платформ. Решение позициоинруется как замена TestParameterInjector

#kmp #тестирование
👍11
Статья как использовать Burst 2.0 на Android

#тестирование #android
👍11
Вышел загрузчик изображений Coil 3.0 c поддержкой 🏝Kotlin Multiplatform. Теперь помимо 🤖 Android поддерживается iOS, JVM, JS и WASM. Подробнее тут

Что еще нового:
❗️ Изменился пакет с io.coil-kt на io.coil-kt.coil3
👉 Можно выбрать библиотеку для работы с сетью: OkHttp или Ktor
👉 Улучшили работы с Compose Preview
Убрали загрузку Android ресурсов через android.resource://example.package.name/drawable/image
❗️ По умолчанию размер декодированной картинки не будет превосходить размер 4096 на 4096
❗️ Работу с Coil 2 Parameters API заменил на Extras
🛠 Важные улучшения и исправления

Новая версия требует внесения изменения в код. Подробное руководство читайте в руководстве по миграции

#kmp #сеть #картинки #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍5
Статья(EN,3м) с примером интеграции Koin с компонентами Decompose

#архитектура #di
👍151