Retrofit分析-谜之槽点

作者: stay4it | 来源:发表于2016-04-01 10:26 被阅读3398次

    没耐心自己分析源码的同学,还可以参考Stay录制的视频版
    Retrofit分析-漂亮的解耦套路(视频版)

    fed9585fb01c944685b113aee6a69b48.jpg

    情况是这样的,昨天手贱翻了下retrofit源码,其中有个类叫Platform。除了描述它是个动态代理之外,更有趣是它的初始化方式。看图:

    Screen Shot 2016-03-31 at 6.13.47 PM.png

    findPlatform() 先找Android,没Android找Java,连Java都没有它居然投靠iOS去了。响当当的retrofit居然会是这种人!

    慢着。org.robovm.apple.foundation.NSObject。这是什么鬼。这import肯定不对嘛。

    Screen Shot 2016-03-31 at 6.12.18 PM.png

    那google下吧,robovm.com。妈蛋,还真有这么回事。Robovm可以编译java代码并有iOS一整套的转化代码来桥接。这样就能用java开发iOS啦。

    类似这样的桥接生成native代码的见过不少,相当于一个中间件。lua可以,js可以,flex可以。但我还没遇过像Robovm这样直接用java转iOS的。这太有趣了。

    感兴趣的可以去瞧瞧github:https://github.com/robovm/robovm

    but,仅仅是转成OC,并不是swift,而且被收购之后也不开源了。价格还不菲。

    Screen Shot 2016-03-31 at 6.11.52 PM.png

    那么问题来了~为什么retrofit会把这样一段商业代码放在开源库里?难道之前赞助过Robovm?

    是不是square的java员工太多啦?你看okhttp,retrofit都是java+android,iOS库就没多少。正好用robovm来转一下?

    这都是谜。好了。宝宝不想往下扒了。继续看源码去。

    相关文章

      网友评论

      • Hancock1993:哈哈哈, retrofit居然会是这种人!
      • KingJA:比捡到宝还开心啊
      • 99a3e443b0b3:好东西,谢谢分享
      • 7syqMp:很有深意啊
      • 6bf8ed2cdaf0:愚人节发这个……引发深意 :wink:
      • stay4it:深扒之下发现new iOS这段代码是最近才加上的,我项目里的2.0 beta2里都还没有呢,这说明了神马(▭-▭)✧

      本文标题:Retrofit分析-谜之槽点

      本文链接:https://www.haomeiwen.com/subject/bdhylttx.html