Что нового:
👉 Исправление работы с XCode 16.3
🛠 Исправление багов
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Android Broadcast
🤯 Вышел Retrofit 3.0, который полностью переписали на Kotlin и перешли на OkHttp 4.12, который тоже полностью на Kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👉 Очень много улучшений для PostgreSql
👉 Поддержка WASM/JS
🛠 Множество исправлений и улучшений
#kotlin #kmp #sqlite #k2
Please open Telegram to view this post
VIEW IN TELEGRAM
Подробнее можно почитать в статье (РУ, 5м)
// пример использования библиотеки
class SuspendSettingsApi(private val intSettingsMap: MutableMap<String, Int>) {
val suspendMutableKrate: SuspendMutableKrate<Int> = DefaultSuspendMutableKrate(
factory = { 0 },
loader = { intSettingsMap["INT_KEY"] },
saver = { value -> intSettingsMap["INT_KEY"] = value }
)
val stateFlowSuspendMutableKrate: StateFlowSuspendMutableKrate<Int> = DefaultStateFlowSuspendMutableKrate(
factory = { 0 },
loader = { intSettingsMap["INT_KEY"] },
saver = { value -> intSettingsMap["INT_KEY"] = value }
)
}
#kotlin #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
JetBrains ранее отказалась от разработки отдельной IDE для Kotlin Multiplatform и активного расширения возможностей KMP во Fleet в пользу улучшения поддержки в уже привычных для разработчиков продуктах
Вышла версия KMP плагина 0.9.0 в которой появилась новые возможности
🪄 Новый визард для создания нового проекта: поддержка всех таргетов, настройки использования Compose или нативного UI
💊 Проверка настройка окружения на компьютере: фактически интегрировали KDoctor.
Для использование фичей нужны самые свежие версии IDE, а то и вовсе Canary версия Android Studio. Уже сейчас доступна версия плагина 0.9 и ждем Stable
#kotlin #kmp #androidstudio #idea #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Команда плагина будет работать над улучшениями инструментов для KMP разработки
💻 Поддержка Windows и Linux: появится возможность использования KMP плаигна на Windows и Linux, но запуск iOS приложений останется пререгативой macOS
🦢 Расширенная поддержка Swift: текущий плагин имеет базовую поддержку Swift, но будет добавляться поддержка фичей сложнее: поиск использований, навигации по иерархии типов и др.
🏝 Создание KMP модулей в проекте: создание KMP модулей с использованием стандартного KMP визарда
🛠 Лучшая поддержка инструментов для Web и Desktop: после стабилизации поддержки мобильных платформ, будет фокус на улучшение поддержки таргетов Web и Desktop.
#kotlin #kmp #idea #androidstudio
💻 Поддержка Windows и Linux: появится возможность использования KMP плаигна на Windows и Linux, но запуск iOS приложений останется пререгативой macOS
🛠 Лучшая поддержка инструментов для Web и Desktop: после стабилизации поддержки мобильных платформ, будет фокус на улучшение поддержки таргетов Web и Desktop.
#kotlin #kmp #idea #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
Что нового:
👉 Добавлена возможность настройки некоторых аннотаций с параметрами таким же образом как и без параметров
👉 Добавили свойство для предотвращения ошибки при использовании ktlint-intellij-plugin
🛠 Исправление ошибок
⬆️ Обновлений версий зависимостей
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
Показали новую версию Amper с поддержкой iOS в KMP в standalone версии (без Gradle под капотом). Ранее в KMP были Android и Desktop.
#kotlin #amper #ios
#kotlin #amper #ios
val agent = simpleSingleRunAgent(
executor = simpleOpenAIExecutor(apiKey),
systemPrompt = "Answer user questions concisely.",
llmModel = OpenAIModels.Chat.GPT4o
)
val result = agent.runAndGetResult("Hello! How can you help me?")
println(result)
Подробнее читайте в документации
#kotlin #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
Библиотека от red_mad_robot для фича флагами (анонс тут). Умеет:
👉 Чёткое разделение на remote и local-only флаги
👉 Поддержка нескольких remote-источников (Firebase, HMS, собственный бэкенд)
👉 Детальное логирование
👉 Возможность переопределения значений при разработке и тестировании
👉 Поддержка многомодульности
class ProfileFeatureConfig : FeatureConfig(
name = "profile_feature_config",
description = "Config of features for profile usage"
) {
val isProfileFeatureEnabled: Boolean by toggle(
key = "profile_feature",
description = "show profile entry point for user",
defaultValue = false,
)
val profileFeatureTitle: String by value(
key = "profile_feature_title",
description = "title of profile entry point button",
defaultValue = "Feature number nine",
sourceSelectionStrategy = SourceSelectionStrategy.Any
)
val profileButtonAppearDuration: Long by value(
key = "profile_button_appear_duration",
description = "duration of profile button appearing in ms",
defaultValue = 200,
sourceSelectionStrategy = SourceSelectionStrategy.Any
)
}
Мне также не хватило готово UI модуля для переключения значений фича флагов и значений Remote Config
Please open Telegram to view this post
VIEW IN TELEGRAM
Используете Kotlin Contracts при написании API?
Anonymous Poll
50%
Что это?
29%
Знаю, но не использовал(а)
15%
Да, использовал(а) их в своем коде
1%
Другой вариант
6%
Не участвую в опросе
KSensor - KMP библиотека для работы с сенсорами на Android и iOS. Поддерживает акселерометр, гироскоп. магнитометр, барометр, счетчик шагов, местоположение
#kotlin #kmp #android #ios
val sensors = listof(
SensorType.ACCELEROMETER,
SensorType.GYROSCOPE,
SensorType.MAGNETOMETER,
SensorType.BAROMETER,
SensorType.STEP_COUNTER,
SensorType.LOCATION,
)
// Register sensors
KSensor.registerSensors(
types = sensors,
locationIntervalMillis = {optional. default is 1000L},
onSensorData = { type, data ->
println("Sensor: $type - Data: $data")
},
onSensorError = { error ->
println("Sensor error: ${error.message}")
}
)
// Unregister sensors when no longer needed
KSensor.unregisterSensors(sensors)
#kotlin #kmp #android #ios
Самый простой способ подключения - через Gradle плагин
#kotlin #coroutines
Please open Telegram to view this post
VIEW IN TELEGRAM