我希望将我的 Android 应用程序中使用的第三方库的数量保持在最低限度。
我已经开始使用 Dagger2
,然后切换到 Koin
.Koin
对 Dagger2
有这么大的改进吗? .Koin
具有内置的 ViewModel 支持,并且不需要为 Workers 提供任何“额外”的东西。Koin
让您以最小的努力在任何地方注入(inject)任何东西,非常棒。
在 Android Hilt 公告中,我完成了一次评估以评估它,因为它会减少我对 3rd 方库的依赖。
完成我的秒杀工作后,我不明白为什么有人会使用 Hilt。
例如:
对于 Koin
注入(inject) Worker
我有 worker 工具 KoinComponent
, 对于 Hilt
要注入(inject) worker ,我需要禁用默认 WorkerManager
初始化,并使用两个注解 @WorkerInject
& @Assisted
.
我错过了什么吗?
最佳答案
我认为您已经部分回答了您的问题:On the Android Hilt announcement I completed a spike to evaluate it, as it would reduce my dependencies on 3rd party libraries.
但为了帮助您做出更多决定,我们将尝试在下面列出 Koin 和 Hilt 的一些建议。
Koin :
Hilt :
在 Koin 和 Hilt 之间进行选择取决于给定场景的多个因素,两者都有其明显的优点和缺点。
For example
:正如您所说,您已经在 Koin 中编写了您的项目,那么如果您想使用 Hilt,那么您可能必须重新编写所有依赖关系图。如果您使用 Dagger,那么迁移到 Hilt 将不那么困难。
关于android - 当 Koin 可用时,我为什么要使用 Android Hilt (Dagger2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64824349/