Media is too big
VIEW IN TELEGRAM
ExoQuery - Kotlin DSL для работы с базой данных. Есть поддержка разных БД. Больше про возможности смотрит в видео
#kotlin #sql #dsl
// Пример запроса
capture.select {
val p: Person = from(people)
val a: Address = join(addresses) { a -> a.personId == p.id }
Data(p.name, a.city)
}
#kotlin #sql #dsl
👍43
Forwarded from Kotlin Russia news (Alexander Nozik)
Итак, момент, которого мы долго ждали, случился!
Первый за этот год, да и за несколько последних лет Kotlin митап случится 30 мая в ВШЭ. Организатором выступает ФКН ВШЭ.
https://cs.hse.ru/kotlinmeetup/
18:00-18:10, Александр Нозик, Открытие митапа
18:10-19:10, Яна Седова, Горячие и холодные потоки в Kotlin Flow
19:10-20:10, Александр Соколинский, Пополнение в семье kotlinx: зачем нам этот ваш kotlinx.fuzz?
Для участия обязательно зарегистрироваться. Количество мест ограничено. Поэтому просьба не откладывать регистрацию если вы хотите прийти и не регистрироваться если вы не планируете приходить.
Самое замечательное в том, что планируется не один митап, а серия. Так что не забываем отправлять новые заявки в форму. Даже если вам кажется, что это не очень интересно.
Первый за этот год, да и за несколько последних лет Kotlin митап случится 30 мая в ВШЭ. Организатором выступает ФКН ВШЭ.
https://cs.hse.ru/kotlinmeetup/
18:00-18:10, Александр Нозик, Открытие митапа
18:10-19:10, Яна Седова, Горячие и холодные потоки в Kotlin Flow
19:10-20:10, Александр Соколинский, Пополнение в семье kotlinx: зачем нам этот ваш kotlinx.fuzz?
Для участия обязательно зарегистрироваться. Количество мест ограничено. Поэтому просьба не откладывать регистрацию если вы хотите прийти и не регистрироваться если вы не планируете приходить.
Самое замечательное в том, что планируется не один митап, а серия. Так что не забываем отправлять новые заявки в форму. Даже если вам кажется, что это не очень интересно.
cs.hse.ru
Митап по Kotlin
👍23
Что нового:
👉 Исправление работы с XCode 16.3
🛠 Исправление багов
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍48
Forwarded from Android Broadcast
🤯 Вышел Retrofit 3.0, который полностью переписали на Kotlin и перешли на OkHttp 4.12, который тоже полностью на Kotlin
👍115🤔1
👉 Очень много улучшений для PostgreSql
👉 Поддержка WASM/JS
🛠 Множество исправлений и улучшений
#kotlin #kmp #sqlite #k2
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥37👍5❤2🤯1
Подробнее можно почитать в статье (РУ, 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
3👍21🤔9
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
🎉47🔥14👍5
Команда плагина будет работать над улучшениями инструментов для 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
👍22🔥8
Что нового:
👉 Добавлена возможность настройки некоторых аннотаций с параметрами таким же образом как и без параметров
👉 Добавили свойство для предотвращения ошибки при использовании ktlint-intellij-plugin
🛠 Исправление ошибок
⬆️ Обновлений версий зависимостей
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍17
Показали новую версию Amper с поддержкой iOS в KMP в standalone версии (без Gradle под капотом). Ранее в KMP были Android и Desktop.
#kotlin #amper #ios
#kotlin #amper #ios
👍12🤔6🔥2
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
👍38🔥13❤1
Ключевые области партнерства:
👉 Полная null safety для Kotlin и Spring приложений
👉 Официальные материалы обучения по Spring будут использовать Kotlin для примеров
👉 Будут работать над ускорение библиотеки kotlinx.reflect, так как рефлексия активно используется в Spring
👉 Развитие Kotlin DSL для конфигурации
Не понятно во что это выльется для Ktor Server, но явно JB изо всех сил старается повысить популярность языка за пределами мобилки и это жизненно важно для Kotlin
#kotlin #backend #spring
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71🔥27❤4🙏1
Библиотека от 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
🔥27👍7❤1🤔1
Используете Kotlin Contracts при написании API?
Anonymous Poll
50%
Что это?
29%
Знаю, но не использовал(а)
15%
Да, использовал(а) их в своем коде
1%
Другой вариант
6%
Не участвую в опросе
👍3
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
👍82❤3