开发android app,你会用到哪些开源框架?

来源:互联网 发布:电影采集源码 编辑:程序博客网 时间:2024/04/28 04:09

根据知乎网友回答、整理而得。

UI

图片加载:之前用的Picasso,非常方便。但因为picasso是自带的请求处理,没办法和已有的http请求统一调度,同时在滑动列表中的使用不是很舒服

图片加载,UIL  Android-Universal-Image-Loader 或者Picasso;

图片加载:fresco

依赖注入:Butterknife,小而全的依赖注入库。之前使用过一段时间的AndroidAnnotation ,功能非常完善,但一些特性上让人难以接受

依赖注入 dagger, roboguice
简化代码 android annotations


数据层

Http/REST 请求:如果是严谨的RESTAPI , Retrofit 会非常好用!各种 annotation 用起来省事又省心!唯独不好的地方是很多时候我们的接口不是完全的 REST结构,同时需要针对每个request做单独的处理,这时候Retrofit就显得有些尴尬了。这时候我会用volleyvolley的请求自定义和管理支持很好。

异步网络请求处理:是否曾经被网络请求的各种异常情况弄得焦头烂额?直到用到了RoboSpice,事情变得简单许多。对网络请求的再次封装,将请求的各种结果回调变得简便,同时对Retrofit , Okhttp,Ormlite等支持都非常完善了,有了它,生活更 easy了。 

网络请求 Volley

网络层,apcahe的http-common或者square的okhttp;


JSON解析:最通用的是Gson,用起来也很方便,但从效率上来讲Gson不是最快的,FastJsonJackson各有优势

数据解析:Gson,我知道它速度不快,但是太好用了

数据库:ormLitegreenDao都挺好的。 



消息事件队列:以前用 Guava ,后来发现有针对 Android平台设计的 Otto性能更优(虽然没有实际感受出来效率上的差别,既然是 Square 大法,一定要支持!) 

事件总线:eventbus
事件处理 Otto

组件通信otto
聊天,XMPP;
动画,NineOldAndroids。

图片处理:PhotoViewsubsampling-scale-image-viewPhotoCropper
简单缓存:ASimpleCache
二维码:ZXing
新的百分比支持:https://github.com/JulienGenoud/android-percent-support-lib-sample
profile工具:leakcanary


下面是集合而成的适合模块化编程

xUtils 基于Afinal的开发框架,国人写的,还是很不错的
目前xUtils主要有四大模块:DbUtils模块、ViewUtils模块、HttpUtils模块、BitmapUtils模块;

如果对App的性能、包size有要求。
对代码有洁癖,不想使用一个功能就引入一个大坨jar包。
或者想专注学习某一个模块或方向,那么推荐你使用Lite的类库。

以下是lite站点已列出的一些特点
1. 专一,每个库只做一件事情,并且只有核心相关的代码,这使得框架库体积非常小。
2. 简单,不需要三方依赖或辅助,API使用简单。
3. 性能不错,作者每个环节经过测试对比,来选出更好的模式和做法。
4. 依赖抽象,开发者可以自由的替换实现,来拓展功能。
5. 约定优于配置,这个无需多说了,省掉多余描述,更好地做事情。
开源项目站点:开源项目站点:LiteSuits
get start:LiteHttp:一款‘智能’的HTTP框架类库

但推荐稳定、可商用、简约单纯的框架,理由很简单:便于学习。
1. 初学者受困于经验,获取通用问题的最佳解决方式较难,借助已有的良好框架会做的更好。
2. 尽量使用专注、精简的框架,这样便于垂直学习,干扰很少,也便于拆分、砍掉。
3. 只有不断的阅读、学习良好的代码,才能提升自己代码质量。

0 0
原创粉丝点击