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
Вышел 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
Вышел Amper 0.5.0 - система сборки проектов от JetBrains. Фокус - KMP разработка
⚠️ Улучшили интеграцию с IDE Fleet
🏝 Поддержка ресурсов Compose Multiplatform
🏝 Поддержка KSP2 (нужен Kotlin 2.1)
🏝 Поддержка Parcelize плагина для Android
🤖 Возможность собирать подписанные Android с применением R8
👉 Единое место на компьтере для кешей всех загрузок

В комментариях делитесь мнение, уйдем ли мы от использования Gradle в пользу Amper для KMP проектов?

#инструменты #kmp #amper
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥1
Kotlin Multiplatform Broadcast
KSP2 (нужен Kotlin 2.1)
Что еще за KSP2? Скорее всего сейчас вы используете KSP версии 1. Это переход на новую архитектуры для устранения моментов, который не способна закрыть первая реализация. Подробнее рассказал в посте на @android_broadcast

Kotlin 2.1 выйдет (ориентировочно конец 2024) уже с поддержкой KSP2, а первая версия будет deprecated и больше не поддерживается.

#Ksp
👍26