Опубликовали план развития Ktor на 2024:
👉 Плагин OpenTelemetry
👉 Поддержка gRPC на сервере и клиенте
👉 Миграция на kotlinx-io в Ktor 3.0
👉 Поддержка управления транзакциями в БД
👉 Упрощенный DI в Ktor Server
👉 Улучшение документации
👉 Сторонние плагины Ktor будут приниматься и предлагаться при создании нового Ktor проекта через Web
👉 CLI Tool для Ktor
#ktor
👉 Плагин OpenTelemetry
👉 Поддержка gRPC на сервере и клиенте
👉 Миграция на kotlinx-io в Ktor 3.0
👉 Поддержка управления транзакциями в БД
👉 Упрощенный DI в Ktor Server
👉 Улучшение документации
👉 Сторонние плагины Ktor будут приниматься и предлагаться при создании нового Ktor проекта через Web
👉 CLI Tool для Ktor
#ktor
👍39❤6
Пример использования value классов, чтобы сделать проверки типов строже, но без значительного эффекта на работу кода. Подробности тут (EN, 2 мин)
🔗 Ссылка без VPN
🔗 Ссылка без VPN
❤23👍15🔥8
Kotlin's JDK release compatibility flag - статья о том как можно спокнуться о том как если не проставить везде правильную версию JDK (
Рекомендация - используйте Gradle Toolchain (спорно, и ждем пояснений в следующей статье)
#jvm
-source
, -target
, и -bootclasspath
), то можно получить креш в проде.Рекомендация - используйте Gradle Toolchain (спорно, и ждем пояснений в следующей статье)
#jvm
❤12👍2
Forwarded from Android Broadcast (Кирилл Розов)
На моём Boosty вы сможете найти лучшие практики и лайфхаки по использованию разных API:
👉 Как ускорить получение зависимостей из Dagger графа
👉 Делегаты классов в Kotlin при миграции между разными API
👉 Как не дать запуститься Coroutine больше одного раза. Решение в лоб и красиво
Все это доступно по подписке за 300 рублей в месяц и даже больше контента: База Знаний, эксклюзивные видео, ранний доступ, закрытый чат и много других преимуществ!
#AndroidBroadcast #Boosty
👉 Как ускорить получение зависимостей из Dagger графа
👉 Делегаты классов в Kotlin при миграции между разными API
👉 Как не дать запуститься Coroutine больше одного раза. Решение в лоб и красиво
Все это доступно по подписке за 300 рублей в месяц и даже больше контента: База Знаний, эксклюзивные видео, ранний доступ, закрытый чат и много других преимуществ!
#AndroidBroadcast #Boosty
👍5🤯2🔥1
Используете Dispatchers.Main.immediate ?
Anonymous Poll
30%
Да
31%
Не знаю про такой
34%
Нет
6%
Не участвую
По умолчанию Dispatchers.Main откладывает выполнение кода в очередь, даже если вызов корутины был с Main потока. Dispatchers.Main.immediate делает проверку происходит ли выполнение на главном потоке и если да - сразу выполняет код корутины.
✅ В большинстве случаев для выполнения операции на главном/UI потоке стоит использовать именно immediate Dispatcher. Например, все CoroutineScope из Jetpack Lifecycle и ViewModel используют именно его
Больше подробностей в статье (ссылка без VPN)
#coroutines
✅ В большинстве случаев для выполнения операции на главном/UI потоке стоит использовать именно immediate Dispatcher. Например, все CoroutineScope из Jetpack Lifecycle и ViewModel используют именно его
Больше подробностей в статье (ссылка без VPN)
#coroutines
👍67💯8🎉1
Forwarded from Android Broadcast (Кирилл Розов)
Обновления Lifecycle.2.8.0-alpha03 заслуживают отдельного поста
👉 ViewModel.viewModelScope теперь можно перегрузить через конструктор. Сможете свои параметры CoroutineContext задать
👉 Артефакт
👉 Прошла миграция с Java class на Kotlin KClass
#jetpackupdate #kmp #jetpack #viewmodel
👉 ViewModel.viewModelScope теперь можно перегрузить через конструктор. Сможете свои параметры CoroutineContext задать
👉 Артефакт
lifecycle-viewmodel
теперь мультиплатформенный, а также все API в них ViewModel
, ViewModelStore
, ViewModelStoreOwner
, и ViewModelProvider
👉 Прошла миграция с Java class на Kotlin KClass
#jetpackupdate #kmp #jetpack #viewmodel
👍32🔥5
Приложение-словарь на Kotlin Multiplatform и Compose Mltiplatform для Android и iOS
🔗 Исходники на GitHub
🔗 Приложение в Google Play
🔗 Приложение в App Store
#пример
🔗 Исходники на GitHub
🔗 Приложение в Google Play
🔗 Приложение в App Store
#пример
🔥15👍12❤3
На днях вышел Gradle 8.7 и нтузиаст решил на примере проекта Now In Android оценить влияние версий Gradle на скорость компиляции проекта. По итогу время сборки осталось +- таким же, а вот расход памяти немного увеличился. Подробности читайте тут
#gradle #performance
#gradle #performance
🤯14🔥3👍2🎉2
Вышло обновление Compose-Multiplatform-Wizard - накликиваете себе что вам нужно в Kotlin Multiplatform проекте и получаете архив для старта проекта
Что было добавлено:
👉 генерится новый проект
👉 анимации в примере
👉 из коробки используются ресурсы: иконки, текст и кастомный шрифт
👉 самые свежие версии всех компонентов
👉 конфигурация Gradle в проекте по всем лучшим практикам современности
🧑💻 добавлен WASM таргет
👉 генерация common Compose UI тестов
👉 тесты можно запустить прямо на iOS симуляторе или Android эмуляторе из терминала
#tooling
Что было добавлено:
👉 генерится новый проект
👉 анимации в примере
👉 из коробки используются ресурсы: иконки, текст и кастомный шрифт
👉 самые свежие версии всех компонентов
👉 конфигурация Gradle в проекте по всем лучшим практикам современности
🧑💻 добавлен WASM таргет
👉 генерация common Compose UI тестов
👉 тесты можно запустить прямо на iOS симуляторе или Android эмуляторе из терминала
#tooling
🔥38👍13
Jake Wharton рассказывает чем плох Gradle Java Toolchain для указание используемых версий Java
По итогу рекомендация использовать флаг
По итогу рекомендация использовать флаг
--release
при компиляции Java. Для Android - sourceCompatibility
(для Java) и jvmTarget
(для Kotlin)🤯11👍10
Context receivers — новые extension functions (7м) - статья о экспериментальной возможности Kotlin для указания контекста в котором должна быть вызвана функция
👍26
Как разработчику повысить доход от монетизации приложения и не сломать голову? - Подключить Простую монетизацию!
📌 Тебе нужно подключить дополнительные рекламные сети и оптимизировать блоки в приложении, но у студий не хватает времени или экспертизы на детальную настройку рекламы? Эту проблему решает Простая Монетизация Яндекса.
Специалисты Простой монетизации уже проанализировали гео и особенности аудитории приложения, оптимизировали работу и настроили новые рекламные сети.
Сервис Простой монетизации включает:
👉 Агрегацию доходов от всех рекламных сетей в одном месте и выплаты раз в месяц
👉 Всю настройку рекламной монетизации
👉 Мониторинг эффективности рекламы и определение точек роста
👉 Гибкую настройку рекламных форматов с помощью экспертов Яндекса
🔴 Подключить Простую монетизацию
#реклама
📌 Тебе нужно подключить дополнительные рекламные сети и оптимизировать блоки в приложении, но у студий не хватает времени или экспертизы на детальную настройку рекламы? Эту проблему решает Простая Монетизация Яндекса.
Специалисты Простой монетизации уже проанализировали гео и особенности аудитории приложения, оптимизировали работу и настроили новые рекламные сети.
Сервис Простой монетизации включает:
👉 Агрегацию доходов от всех рекламных сетей в одном месте и выплаты раз в месяц
👉 Всю настройку рекламной монетизации
👉 Мониторинг эффективности рекламы и определение точек роста
👉 Гибкую настройку рекламных форматов с помощью экспертов Яндекса
🔴 Подключить Простую монетизацию
#реклама
👍7❤1🔥1
Разбор паттерна Facade (EN, 2м, без VPN) и реализация его на Kotlin. Паттерн предназначен для сокрытия сложной реализации, оперирующий несколькими аналогичными интерфейсами
#архитектура
#архитектура
👍22❤1