请问各位做安卓开发的大佬,实际工作中使用 dagger 的多吗?用和不用的区别是啥?如果不用可以吗?
请问各位做安卓开发的大佬,实际工作中使用 dagger 的多吗?用和不用的区别是啥?如果不用可以吗?
|
Edward4074Dec 4, 2019
1
当初做安卓的时候不引入 dagger 最大的原因就是觉得同事 hold 不住
|
|
lhtdegDec 4, 2019 via Android
2
公司以前要求用,后来要求不要用…
|
|
3
@Edward4074 @lhtdeg 现在快要做一个新项目,所以考虑用 di。看 dagger 官方文档,那个 user guide 我能看明白,也知道 di 是做什么用的。。但是安卓项目里面的,实在看不明白。。
|
|
eminemcolaDec 4, 2019
4
建议先了解一下什么是 ServiceLoader 以及为什么要使用 ServiceLoader,然后就知道这一类依赖注入&发现工具是用来干嘛的了。
|
|
wvitasDec 4, 2019
5
表示不用这个
|
|
ncx456123Dec 4, 2019
6
小公司基本都用不上
|
|
7
|
|
nicevarDec 4, 2019
8
胡里花哨的,做个客户端开发跟写后端一样,没多少公司用,Android 的开发人员一大堆都没用过这玩意
|
|
tsimeonDec 4, 2019
9
用的人还是挺多的吧。多写就看懂了。问题不大。
|
|
sankemaoDec 4, 2019
10
没用用这个,不明白能带来啥好处,实现作用域单例?
|
|
DeweyReedDec 4, 2019
11
看官网教程吧: https://developer.android.com/training/dependency-injection,还有配套的 codelab。看 iosched 学 dagger 步子有点大。
|
|
12
|
|
13
|
|
ksssdh123Dec 5, 2019
14
Jetpack MVVM 也可以尝试一下,比 dagger 更容易 hold 住
dagger 用不好 就变得乱七八糟,跟那个 eventbus 一样,需要有严格的规范去执行 但靠规范来约束不靠谱,用框架约束死,就不怕那些毕业生 搞什么花里胡哨的代码了 不过前提都是得 3 个人以上在共同维护开发的项目,你就一个人搞?要啥框架啊 |
|
15
@ksssdh123 是打算在新项目用 mvvm 的。然后我看官方的项目用了 dagger,就想了解一下的。你说的那个 eventbus 我真是深受其害啊,新公司接手的这个项目被它弄的乱七八糟。。
|
|
16
@ksssdh123 而且我的确是一个人搞😅但是要面向新技术编程啊,不能落后了
|
|
huage2580Dec 5, 2019
17
了解就了解,不要为了用而用,而是需要用的时候知道有这东西
|
|
18
@huage2580 感谢指导🙏
|
|
skullDec 5, 2019 via iPhone
19
一人维护的项目用过,团队的不敢,到时候会四不像的
|
|
whyrookieDec 5, 2019
20
dagger 我都不打算学?是类似 Spring 这种依赖注入?我觉得 kotlin+Jetpack 就很香了。感觉客户端这边越来越花里胡哨了。
|
|
21
|
|
751762476Dec 5, 2019
22
可以用 koin,简单明了 https://github.com/InsertKoinIO/koin
|
|
VitaliDec 5, 2019
23
说实话,二线城市,可能 kotlin 都招不到,所以主要是看你项目大小跟公司团队规模及所处的地方
|
|
24
@751762476 我看了,据说 koin 用了反射?性能比 dagger 差很多
|
|
25
@Vitali 杭州,一个小公司,安卓就我一人
|
|
VitaliDec 5, 2019
26
@charlieputon 那就拿新项目练手 MVVM,以 kotlin 作为主框架语言,要是有不会 kotlin 的,组件让他用 Java 写,都可以的
|
|
751762476Dec 5, 2019
27
@charlieputon 我觉得你应该读一下 koin 的描述 `Written in pure Kotlin, using functional resolution only: no proxy, no code generation, no reflection.`
|
|
nicevarDec 5, 2019
28
@charlieputon 这种用不用与落不落伍没啥关系,官方推荐的东西多了,很多开发人员根本不鸟,像 databinding、mvvm 之类的
|
|
Desmond1990Dec 5, 2019
29
不就是依赖注入吗
|
|
styDec 5, 2019
30
要多写代码,以及更多的 generated code,个人不喜欢;不如用 kotlin object
|
|
MushiUtaDec 5, 2019
31
用 kotlin+ Jetpack MVVM 感觉可以很大程度替代 dagger 的一些便利性。
我不喜欢用 dagger,一旦出错太难排查了。 |
|
beiwei2008Dec 5, 2019
32
@nicevar databinding 有什么问题? MVVM 也不好用么?
|
|
JabinDec 5, 2019
33
随着 dagger 的不断升级 现在是越来越好学 从 dagger 1 一直用到 dagger 2,建议还是花时间好好学学
|
|
m0moDec 6, 2019
34
dagger 怎么说呢 熟悉原理 写多了 就知道咋用了。但是我觉得并没有完全解藕,但是的确多人协作的话很方便维护就是了,特别是业务变更频繁的时候
|