Android 开发如何选择*(转)

时间:2023-03-08 22:38:50

一个项目的开发,我们不可能一切从0做起,如果真是这样,那同样要哭瞎。因此,善于借用已经做好的 “车轮” 非常重要,如:

  • 网络访问框架:OKHttp、retrofit、android-async-http、volley
  • 图片加载框架:Android-Universal-Image-Loader、GlideFrescoPicasso
  • 缓存框架:DiskLruCache、 Robospice
  • Json解析框架:Gson、Fastjson、Jackson
  • 事件总线:EventBus、Otto
  • ORM框架:GreenDAO、Litepal
  • 还有其他各种各样开源的自定义控件、动画等。除了以上提到的开源框架,也包括一些不开源的SDK
  • 数据统计:友盟统计,百度统计…
  • 奔溃搜集:腾讯bugly、bugtags…
  • 云存储:七牛…
  • 即使通讯:环信、融云、阿里百川…
  • 推送:小米推送、腾讯推送、百度推送…
  • 安全加固:360加固宝、爱加密…

一般情况下,我在选择是否引入一些开源框架主要基于以下几个因素:

  • 借助搜索引擎,如果网上有一大波资料,说明使用的人多,出了问题好找解决方案;当然,如果普遍出现差评,就可以直接Pass掉了
  • 看框架的作者或团队,如 JakeWharton大神Facebook团队等。大神和大公司出品的框架质量相对较高,可保证后续的维护和bug修复,不容易烂尾;
  • 关注开源项目的 commit密度,issue的提交、回复、关闭数量,watch数,start数,fork数等。像那种个基本不怎么提交代码、提issue又不怎么回复和修复的项目,最好就pass掉;

针对不开源SDK的选择,也主要基于以下几点去考虑:

  • 借助搜索引擎,查明口碑;
  • 很多第三方SDK的官网首页都会告诉你,多少应用已经接入了此SDK,如果你看到有不少知名应用在上面,那这个SDK可以考虑尝试一下了。诸如,友盟官网:
  • 查看SDK使用文档、它们的开发者社区、联系客服。好的SDK,使用文档肯定会详细指引你。出了问题,上开发者社区提问,他们的开发工程师也会社区上回答。实在不行只能联系客服,如果客服的态度都让你不爽,那就可以考虑换别家的SDK了。