JetBrains рассказала про статус и будущее Kotlin Multiplatform для Web разработки. Сейчас в работе:
👉 Улучшении поддержки в IDE
👉 Достичь Beta статус для Kotlin/Wasm и Compose Multiplatform для Web
👉 Режим совместимости со старыми браузерами для Compose Multiplatform
👉 Избавиться от большинства ограничений интеропа в Kotlin/JS
👉 Поддержать современны стандарты JavaScript в Koltin/JS
#kotlin #web #wasm #js
Please open Telegram to view this post
VIEW IN TELEGRAM
Зачастую вижу код
val list: MutableList<Value> = mutableListOf()
list.add(value0)
if(...) list.add(value1)
Вместо этого рекомендую использовать buildList
val list: List<Value> = buildList {
add(value0)
if(...) add(value1)
}
Плюсом такого подхода - отсутствие работы с мутируемой коллекцией
Есть аналоги для других типов коллекций: buildSet и buildMap
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
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
Что нового:
👉 Исправление работы с 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