🐱 DI Yatagan 2.0.0 RC: можно попробовать без переписывания Dagger-вызовов
Яндекс выкатил первый мажор своего DI-фреймворка. Основное:
👉 Единый backend-agnostic Yatagan entry point в api-public. Reflection или codegen подхватываются автоматически, имплементация с генерацией кода имеет приоритет.
👉 Экспериментальный Dagger compatibility mode. Включаешь yatagan.experimental.enableDaggerCompatibility и Yatagan генерит DaggerMyComponent фасады. Старые DaggerMyComponent.create() / .builder() продолжают работать. Поддерживается ядро (components, modules, scopes, multibindings, assisted), без Hilt/Android/producers.
👉 Conditions API почистили: legacy @Condition/@AnyCondition deprecated в пользу @ConditionExpression, @Provides(Conditional(...)) → отдельный @Conditional на методе.
👉 Runtime-конфиг стал declarative (processor options + parameters.properties), убрали глобальный mutable state.
Есть подробный migration guide и даже скилл для агента:
npx skills add yandex/yatagan
Это RC. Compatibility mode экспериментальный — граф лучше провалидировать. Но для тех, кто уже страдает от Dagger на больших проектах и смотрел в сторону Yatagan, порог входа заметно снизился.
🔗 Release Notes
#Android #AndroidDev #DI #Яндекс
Яндекс выкатил первый мажор своего DI-фреймворка. Основное:
👉 Единый backend-agnostic Yatagan entry point в api-public. Reflection или codegen подхватываются автоматически, имплементация с генерацией кода имеет приоритет.
👉 Экспериментальный Dagger compatibility mode. Включаешь yatagan.experimental.enableDaggerCompatibility и Yatagan генерит DaggerMyComponent фасады. Старые DaggerMyComponent.create() / .builder() продолжают работать. Поддерживается ядро (components, modules, scopes, multibindings, assisted), без Hilt/Android/producers.
👉 Conditions API почистили: legacy @Condition/@AnyCondition deprecated в пользу @ConditionExpression, @Provides(Conditional(...)) → отдельный @Conditional на методе.
👉 Runtime-конфиг стал declarative (processor options + parameters.properties), убрали глобальный mutable state.
Есть подробный migration guide и даже скилл для агента:
npx skills add yandex/yatagan
Это RC. Compatibility mode экспериментальный — граф лучше провалидировать. Но для тех, кто уже страдает от Dagger на больших проектах и смотрел в сторону Yatagan, порог входа заметно снизился.
🔗 Release Notes
#Android #AndroidDev #DI #Яндекс