Kotlin Coroutines требуют собственного подхода при работе с параллельными операциями. Например, вместо использования synchronised из Java надо использовать Mutex или делать синхронизацию через Channel.
В статье (17 мин) автор освещает Concurrent API Java и почему его не стоит использовать с корутинами в Kotlin или только в отдельных операциях
#coroutines #java
В статье (17 мин) автор освещает Concurrent API Java и почему его не стоит использовать с корутинами в Kotlin или только в отдельных операциях
#coroutines #java
👍38👎3
🎉 Вышел Koin Annotations 2.2 - привычный DI с кодогенраций на базе Koin с проверкой графа во время компиляции кода
Основные изменения:
💉 Совместимость с JSR-330 - набор API для работы с DI в java (Dagger тоже поддерживает его). Переход между DI фреймворками с поддержкой JSR-330 станет проще. Например, с Dagger или Hilt 😁
💉 Популярные Scope прямо из коробки:
💉 Умная конфигурация: можно пометить модуль аннотацией
💉 Встроенный в фреймворк мониторинг скорости работы компонентов, используя интеграцию с Kotzilla Platform. Добавляете аннотацию @Monitor и автоматически расставятся все трейсинги вызовов методов
🚀 Улучшили скорость работы процессора кода, уменьшили расход памяти, сделали больше проверок при работе процессора. Вообщем поработали по всем направлениям для улучшения работы
Koin Annotations - это хорошая альтернатива тем, кто хочет уйти с Dagger или Hilt, либо нужна поддержка KMP, а переписывать весь код не хочется. С версией 2.2 становится только лучше и проще миграция. Но всё также от кодогенерации не уйти, а значит влияние на время сборки проекта.
#kotlin #koin #kmp #java
Основные изменения:
@ActivityScope, @ActivityRetainedScope, @FragmentScope, @ViewModelScope. Что-то еще больше пахнет Dagger Hilt@Configuration, а объект помеченный @KoinApplication найдет их при компиляции и включит в граф. Работает в многомодульных проектах@Module
@Configuration
class DatabaseModule {
@Singleton fun database() = ...
}
@KoinApplication
object ProductionApp
fun main() {
// Функция startKoin() сгенерируется
ProductionApp.startKoin()
}
@Monitor
@Single
class UserService(private val repository: UserRepository)
🚀 Улучшили скорость работы процессора кода, уменьшили расход памяти, сделали больше проверок при работе процессора. Вообщем поработали по всем направлениям для улучшения работы
Koin Annotations - это хорошая альтернатива тем, кто хочет уйти с Dagger или Hilt, либо нужна поддержка KMP, а переписывать весь код не хочется. С версией 2.2 становится только лучше и проще миграция. Но всё также от кодогенерации не уйти, а значит влияние на время сборки проекта.
#kotlin #koin #kmp #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29❤1