首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
charlieputon
V2EX  ›  Android

愁死了,看不懂 dagger.android, Google 的那个 adssched2019 的 demo 也看不懂,感觉不会写安卓了,心累。。

  •  
  •   charlieputon · 52 天前 via Android · 3060 次点击
    这是一个创建于 52 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问各位做安卓开发的大佬,实际工作中使用 dagger 的多吗?用和不用的区别是啥?如果不用可以吗?

    34 回复  |  直到 2019-12-06 13:51:39 +08:00
    Edward4074
        1
    Edward4074   52 天前
    当初做安卓的时候不引入 dagger 最大的原因就是觉得同事 hold 不住
    lhtdeg
        2
    lhtdeg   52 天前 via Android
    公司以前要求用,后来要求不要用…
    charlieputon
        3
    charlieputon   52 天前 via Android
    @Edward4074 @lhtdeg 现在快要做一个新项目,所以考虑用 di。看 dagger 官方文档,那个 user guide 我能看明白,也知道 di 是做什么用的。。但是安卓项目里面的,实在看不明白。。
    eminemcola
        4
    eminemcola   52 天前
    建议先了解一下什么是 ServiceLoader 以及为什么要使用 ServiceLoader,然后就知道这一类依赖注入&发现工具是用来干嘛的了。
    wvitas
        5
    wvitas   52 天前
    表示不用这个
    ncx456123
        6
    ncx456123   52 天前
    小公司基本都用不上
    charlieputon
        7
    charlieputon   52 天前 via Android
    @eminemcola @wvitas @ncx456123 感谢回复
    nicevar
        8
    nicevar   52 天前
    胡里花哨的,做个客户端开发跟写后端一样,没多少公司用,Android 的开发人员一大堆都没用过这玩意
    tsimeon
        9
    tsimeon   52 天前
    用的人还是挺多的吧。多写就看懂了。问题不大。
    sankemao
        10
    sankemao   52 天前
    没用用这个,不明白能带来啥好处,实现作用域单例?
    DeweyReed
        11
    DeweyReed   52 天前
    看官网教程吧: https://developer.android.com/training/dependency-injection,还有配套的 codelab。看 iosched 学 dagger 步子有点大。
    charlieputon
        12
    charlieputon   52 天前 via Android
    @tsimeon @DeweyReed 感谢🙏
    charlieputon
        13
    charlieputon   52 天前 via Android
    @nicevar @sankemao 官方推荐使用的,感觉不用就会落伍了
    ksssdh123
        14
    ksssdh123   51 天前
    Jetpack MVVM 也可以尝试一下,比 dagger 更容易 hold 住
    dagger 用不好 就变得乱七八糟,跟那个 eventbus 一样,需要有严格的规范去执行
    但靠规范来约束不靠谱,用框架约束死,就不怕那些毕业生 搞什么花里胡哨的代码了
    不过前提都是得 3 个人以上在共同维护开发的项目,你就一个人搞?要啥框架啊
    charlieputon
        15
    charlieputon   51 天前 via Android
    @ksssdh123 是打算在新项目用 mvvm 的。然后我看官方的项目用了 dagger,就想了解一下的。你说的那个 eventbus 我真是深受其害啊,新公司接手的这个项目被它弄的乱七八糟。。
    charlieputon
        16
    charlieputon   51 天前 via Android
    @ksssdh123 而且我的确是一个人搞😅但是要面向新技术编程啊,不能落后了
    huage2580
        17
    huage2580   51 天前
    了解就了解,不要为了用而用,而是需要用的时候知道有这东西
    charlieputon
        18
    charlieputon   51 天前 via Android
    @huage2580 感谢指导🙏
    skull
        19
    skull   51 天前 via iPhone
    一人维护的项目用过,团队的不敢,到时候会四不像的
    whyrookie
        20
    whyrookie   51 天前
    dagger 我都不打算学?是类似 Spring 这种依赖注入?我觉得 kotlin+Jetpack 就很香了。感觉客户端这边越来越花里胡哨了。
    charlieputon
        21
    charlieputon   51 天前
    @skull 现在公司就我一个安卓哈哈
    @whyrookie kotlin+jetpack 是必须用的,嗯,dagger 可以先了解一下,有必要的时候在用吧。
    751762476
        22
    751762476   51 天前
    可以用 koin,简单明了 https://github.com/InsertKoinIO/koin
    Vitali
        23
    Vitali   51 天前
    说实话,二线城市,可能 kotlin 都招不到,所以主要是看你项目大小跟公司团队规模及所处的地方
    charlieputon
        24
    charlieputon   51 天前 via Android
    @751762476 我看了,据说 koin 用了反射?性能比 dagger 差很多
    charlieputon
        25
    charlieputon   51 天前 via Android
    @Vitali 杭州,一个小公司,安卓就我一人
    Vitali
        26
    Vitali   51 天前
    @charlieputon 那就拿新项目练手 MVVM,以 kotlin 作为主框架语言,要是有不会 kotlin 的,组件让他用 Java 写,都可以的
    751762476
        27
    751762476   51 天前
    @charlieputon 我觉得你应该读一下 koin 的描述 `Written in pure Kotlin, using functional resolution only: no proxy, no code generation, no reflection.`
    nicevar
        28
    nicevar   51 天前
    @charlieputon 这种用不用与落不落伍没啥关系,官方推荐的东西多了,很多开发人员根本不鸟,像 databinding、mvvm 之类的
    Desmond1990
        29
    Desmond1990   51 天前
    不就是依赖注入吗
    sty
        30
    sty   51 天前
    要多写代码,以及更多的 generated code,个人不喜欢;不如用 kotlin object
    MushiUta
        31
    MushiUta   51 天前
    用 kotlin+ Jetpack MVVM 感觉可以很大程度替代 dagger 的一些便利性。
    我不喜欢用 dagger,一旦出错太难排查了。
    beiwei2008
        32
    beiwei2008   51 天前
    @nicevar databinding 有什么问题? MVVM 也不好用么?
    Jabin
        33
    Jabin   51 天前
    随着 dagger 的不断升级 现在是越来越好学 从 dagger 1 一直用到 dagger 2,建议还是花时间好好学学
    frantic
        34
    frantic   50 天前
    dagger 怎么说呢 熟悉原理 写多了 就知道咋用了。但是我觉得并没有完全解藕,但是的确多人协作的话很方便维护就是了,特别是业务变更频繁的时候
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   922 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 29ms · UTC 18:11 · PVG 02:11 · LAX 10:11 · JFK 13:11
    ♥ Do have faith in what you're doing.