Please open Telegram to view this post
VIEW IN TELEGRAM
// Kotlin Common Code
expect fun openInBrowser(
url: String,
completionHandler: (Boolean) -> Unit = {}
)
// Kotlin iOS Common
actual fun openInBrowser(
url: String,
completionHandler: (Boolean) -> Unit
) {
NSURL.URLWithString(url)?.let {
UIApplication.sharedApplication.openURL(
url = it,
options = emptyMap<Any?, Any>(),
completionHandler = completionHandler
)
}
}
actual fun openInBrowser(
url: String,
completionHandler: (Boolean) -> Unit
) {
val result = try {
context.startActivity(
Intent(Intent.ACTION_VIEW, Uri.parse(url))
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
true
} catch (_: ActivityNotFoundException) {
false
}
completionHandler(result)
}
// Kotlin JVM Desktop Common
actual fun openInBrowser(
url: String,
completionHandler: (Boolean) -> Unit
) {
with(Desktop.getDesktop()) {
val result = if (isSupported(Desktop.Action.BROWSE)) {
try {
browse(URI.create(url))
true
} catch (e: IOException) {
false
} catch (e: SecurityException) {
false
}
} else false
completionHandler(result)
}
}
Источник тут
#kmp #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
В Kotlin проекте для генерации кода у вас используется...
Anonymous Poll
9%
Нету кодогенерации
28%
KAPT
59%
KSP
8%
Плагин Kotlin компилятора
11%
Генерация через Gradle плагин
2%
Другой способ генерации
7%
Не знаю
9%
Не участвую в опросе
Вышла KotlinX Serialization 1.8.1 с исправлениями багов и минорными улучшениями. Также обновили Kotlin до 2.1.20
#kotlin
#kotlin
#kotlin #di #koin
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Хотите узнать, как использовать платформозависимые API в своих приложениях Kotlin Multiplatform (KMP) или запутались в связанных с этим лучших практиках?
В этом видео мы расскажует об использования механизма expect/actual для создания отличных приложений на KMP.
#kmp #kotlin #jetbrains
Please open Telegram to view this post
VIEW IN TELEGRAM
В Kotlin 2.1.20 несовместим со свежей версий XCode, поддержка будет в Kotlin 2.1.21. Отложите обновление!
#kotlin #kmp #xcode
Please open Telegram to view this post
VIEW IN TELEGRAM
Разработчики, работающие с Kotlin и WebAssembly, обратите внимание! В Kotlin 2.1.20 добавили поддержкой DWARF - технологии, которая позволяет выполнять отладку кода пошагово в WASM-виртуальной машине и инспектировать значения переменных.
#kotlin #wasm
#kotlin #wasm
В Kotlin 2.1.20 добавили экспериментальную новый проход inline оптимизации, который по тестам JetBrains ускоряет работу кода в runtime на 9.5%
Чтобы попробовать надо передать компилятору опцию
-Xbinary=preCodegenInlineThreshold=40
#kotlin #native #производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Metro - Новый DI фреймворк на чистом Kotlin (ещё в разработке)
#kotlin #di #ksp
@DependencyGraph
interface AppGraph {
val httpClient: HttpClient
@Provides
private fun provideFileSystem(): FileSystem = FileSystem.SYSTEM
}
@Inject
class HttpClient(private val fileSystem: FileSystem)
@Inject
@Composable
fun App(circuit: Circuit)
#kotlin #di #ksp
Вышел KSP 2.0, который теперь работает на KSP2 по умолчанию. Теперь работает на K2 и отдельный генератор исходников с большей гибкостью
#kotlin #ksp
#kotlin #ksp
Forwarded from Android Broadcast
🔥 Главное нововведение этой версии Room — рефакторинг библиотеки для поддержки нескольких платформ через KMP: Android, iOS, JVM (Desktop), native Mac и native Linux. Документацию о том, как начать, можно найти здесь. В рамках поддержки KMP было выделено SQLiteDriver.
#android #kmp #jetpack #ios #desktop #mac #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Android Broadcast
Demeter хорош тем, что он не заменяет привычные инструменты анализа производительности, а дополняет собираемую информацию для лучшего понимания скорости работы кода приложения. Также всю информацию можно увидеть прямо на экране устройства.
Инструмент имеет плагинную архитектуру и открытый исходный код, что позволяет вам сделать собственные расширения. Из коробки доступны плагины:
• Замер времени выполнения методов и добавление большей информации для профайлера
• Подсчет количества рекомпозиций в Composable функциях
• Время инициализации зависимостей из Dagger графа
(предлагайте в комментариях, какие замеры было бы полезно сделать в ваших приложениях, а я буду делиться своими)
Demeter может работать через плагин Kotlin компилятора (только с исходным кодом в вашем проекте) и/или через модификацию байткода, где уже можно следить за кодом в подключённых библиотеках без исходного кода. Подробнее можно ознакомиться в статье.
Измерять производительность на дебаг билдах смысла не имеет, так как там много лишнего, а вот когда проходит регресс или через автотесты замерять, то как раз Demeter тут будет полезен, так как важна оценка в одинаковых условиях.
Задавайте свои вопросы по библиотеке, и ещё сделаем отдельное интервью про производительность приложений и тем как за ней постоянно следить, выдерживая заданную планку качества работы.
#android #производительность #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 На конференции по Аврора ОС объявили о поддержки 🏝 Kotlin Multiplatform и в скоро будущем будет работать и ⚙️ Compose Multiplatform
Как только станет доступно попробовать - подключу в свой проект Frame.io
Источник - @AuroraDevelopers
#kmp #аврораос
Как только станет доступно попробовать - подключу в свой проект Frame.io
Источник - @AuroraDevelopers
#kmp #аврораос
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
На сайте издательства Питер доступна бумажная и электронные версии. Скоро устрою розыгрыш пару таких книг, так что подождите немного с покупкой
Скриншоты оглавления в комментариях 🔽
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
Коллеги из ОМП поделились со мной презентаций по KMP. Что самое важное
👉 Появится Gradle плагин для добавления Aurora таргета в KMP проекты
👉 Будут сделаны QT Binding чтобы пользоваться нативными API из KMP кода
👉 ОМП сделают версии популярных KMP библиотек под Аврора с публикацией в собственном Maven репо
👉 Compose Multiplatform в работе и покажут в 2026
#kotlin #аврораос
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM