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
#native

Try the New Kotlin/Native Memory Manager Development Preview

Стала доступна новая модель управления памяти в Kotlin/Native. Пока это лишь ранняя стадия, но она призвана решить ряд текущих сложностей, а именно теперь:
👉 Убраны ограничения на использование объектов из нескольких потоков
👉 Concurrent примитивы без дополнительного менеджмента со стороны разработчиков
👉 Больше не надо вызывать freeze(), за исключением AtomicReference

Всё это пока только в работе и новая модель памяти станет общедоступной в Kotlin 1.6
🔗 Руководство как попробовать новую модель управлением памятью
🔗 Обновленный пример с K/N Concyrrency

Все новые изменения - это большой шаг для решения многих сложностей, которые не даёт массовости для Kotlin под iOS и KMM
#kmm #native

Kotlin Native. Работаем с новой моделью памяти

Оседлайте новую модель памяти Kotlin/Native, которая решает множество проблем старой и выводит удобство использования её на новый уровень!
#native

Kotlin Native — Using Swift, not Objective-C (3 мин)

Опыт использования Kotlin/Native со Swift
#kmm #ios #native

Kotlin Multiplatform. Работаем с асинхронностью на стороне iOS. Publishers, async/await

Автор статьи рассказывает как сделать асинхронную работу на iOS удобной, если вам нужно вызвать Coroutine из Kotlin кода
👍6
Apollo Kotlin: New Multiplatform Memory Manager

Apollo интегрировали новую модель памяти в Kotlin/Native и делятся своим опытом

#native
🔥15👎2
Вышла Zipline 1.0 - библиотека для исполнения Kotlin/JS в Kotlin/JVM и Kotlin/Native с помощью движка QuickJS. Это позволяет придать динамику статическому коду.

#js #jvm #native
12👎11👀7👍1
Серия статей (4 части) про написание Kotlin кода в мультиплатформе, чтобы его было удобно вызывать из Swift кода.

#native #objc #swift
👍10👎2
Kotlin/WASM (WebAssembly) перешел в Альфа статус. Это значит что его можно пробовать, но не пускать в продакшен. Compose Multiplatform WASM пока все также остается в Экспериментальном статусе.

#wasm #native
👍22🤯3
На сайте Kotlin появилось руководство по настройке публикации Kotlin/Native артефактов для Apple таргетов как Swift package manager (SPM) зависимость

#apple #swift #spm #native @kotlin_broadcast
🔥27👍3🤯2
Вышел Xcode Kotlin 2.0 от Touchlab
🚀 Улучшение производительности дебага (до 5 раз прирост)
✔️ Больше информации о переменных
👉 Работает со Swift, 👩‍💻Kotlin и Obj-C
👉 Поддержка List и Map, а скоро добавят Set, StateFlow и др.

Анонс тут

#xcode #native #touchlab #инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
22🤯11👍7
Touchlab рекомендует(EN,9м) шарить не собранные бинарники под Kotlin/Native в KMP проектах, а полностью исходники потому что так разработчики iOS/macOS смогут полноценно отлаживать код и контрибьютить.

В Android/JVM такого не надо т.к. там обычно вмести с бинарником публикуется и исходный кода, а вот XCFramework таким не обладает (

#kmp #native @kotlin_broadcast
👍10🤔6👎1
Серия статей про устройство сборщика мусора в KMP
1️⃣ Как работает сборщик мусора в Android
2️⃣ Как работает сборка мусора в iOS и Kotlin/Native

#gc #underthehood #android #ios #native
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30👎31
🏝 Вышел релиз Kotlin 2.1.0-RC2 с новыми интересными функциями и улучшениями! Основные моменты:

🎉 Предварительный просмотр новых возможностей языка
🚀 Поддержка инкрементальной компиляции для целей Wasm
🏝 Улучшенная реализация K2 Kapt
Обновление версии LLVM до 16.0.0 для Kotlin/Native
⚙️ Улучшения Compose Compiler

#kotlin #compose #wasm #native
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36🎉3
ko-iso - KMP библиотека для работы с кодами стран

#kotlin #kmp #android #jvm #native #ios #android #wasm
👍32
🏝 Ускорение работы Kotlin/Native 🚀

В Kotlin 2.1.20 добавили экспериментальную новый проход inline оптимизации, который по тестам JetBrains ускоряет работу кода в runtime на 9.5%

Чтобы попробовать надо передать компилятору опцию
-Xbinary=preCodegenInlineThreshold=40


#kotlin #native #производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
🏝 App Platform от Amazon - легковесный KMP фреймворк для разработки клиенстких приложений. Позволяет управлять состоянием и управлять памятью. Поддерживает Android, iOS, JVM, Native и Web!

Концепция строится вокруг модульной структуры для разделения API и реализации. Для DI по умолчанию используется kotlin-inject-anvil, для Presenter - Molecule, но можно заменить. UI слой может быть написан на удобном для вас UI фреймворке.

Для настройки требуется подключение Gradle плагина

На момент написания поста доступна версия 0.0.1

#kotlin #kmp #android #ios #web #desktop #jvm #native
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25
Вы знаете, что klib после компиляции Kotlin Native не содержит скомпилированный код, а только IR, который потребует компиляции каждый раз при сборке проекта? 🤯

Если
вы хотите больше погрузиться в том как работает компиляция Kotlin Native, то советую изучить статью(EN,10м)

🔗 Альтернативная ссылка

#kotlin #native
👍16🤔21
🏝 Kotlin 2.2.20-Beta2: кроссплатформенная компиляция без Mac* 🤯 [STABLE]

В новой бете Kotlin 2.2.20 стабилизирована кроссплатформенная компиляция .klib-артефактов. Теперь публиковать Kotlin-библиотеки можно с любой хост-машины, что значительно упрощает процесс, особенно для Apple-таргетов.

Mac всё ещё потребуется, если проект использует cinterop, CocoaPods или нужно собрать финальные бинарники для Apple. Подробности — в документации.

Если в gradle.properties добавляли kotlin.native.enableKlibsCrossCompilation=true, то теперь можно убрать

#kotlin #kmp #klib #native
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆22👍63🤔1