Android培训
美国上市Android培训机构

400-111-8989

热门课程

2017年Android一百个框架排行榜,2017年Android框架大全

  • 发布:Android培训
  • 来源:Android资讯
  • 时间:2017-06-21 17:23

一.榜单介绍

排行榜包括四大类:

  • 单一框架:仅提供路由、网络层、UI层、通信层或其他单一功能的框架

  • 混合开发框架:提供开发hybrid app、h5与webview结合能力、web app能力的框架

  • 企业级开源项目:可以独立运行的app,有极高的学习价值、思路借鉴意义

  • 书籍类开源项目:类似Open-sourc-project这样的导航类项目;大型公司的Android课程的学习目录

框架名次越靠前,值得使用的优先级就越高、研究原理得到的收获会更多、对读者启发的价值就越大

  

二.百大框架排行榜 

快速索引

框架名称 上榜关键字
1.Retrofit 网络
2.okhttp 网络
3.Butter Knife 代码模板
4.MPAndroidChart 图表
5.glide 图片
6.leakcanary 内存
7.Android-Universal-Image-Loader 图片
8.EventBus  事件消息
9.zxing 条码扫描
10.picasso 图片
11.lottie-android 动画
12.fresco 图片
13.RxAndroid 异步
14.SlidingMenu 菜单
15.PhotoView 图片
16.material-dialogs UI
17.droid-async-http 网络
18.androidannotations 注解
19.fastjson json
20.Material-Animations 动画
21.tinker 热修复
22.ViewPagerIndicator UI
23.Android-CleanArchitecture 架构
24.Android-PullToRefresh 刷新
25.flexbox-layout UI
26.AndroidSwipeLayout UI
27.realm-java 数据库
28.greenDAO 数据
29.stetho 调试
30.BaseRecyclerViewAdapterHelper UI
31.AndroidViewAnimations 动画
32.MaterialDrawer 菜单
33.Android-ObservableScrollView UI
34.CircleImageView 图片
35.logger 调试
36.agera 异步
37.BottmBar 菜单
38.Calligraphy 字体
39.AndroidSlidingUpPanel UI
40.AppIntro UI
41.recyclerview-animators 动画
42.dagger 依赖注入
43.Android-Bootstarp UI
44.RxBinding 响应式
45.ListViewAnimations 动画
46.UItimateRecyclerView UI
47.uCrop 图片
48.RxJava-Android-Samples 用例
49.AndroidAutoLayout 适配
50.EffectiveAndroidUI 性能
51.Luban 图片
52.DroidPlugin 插件化
53.otto 响应式
54.u2020 用例
55.buck 构建
56.PermissionsDispatcher 权限
57.android-gif-drawable GIF
58.Apktool 反编译
59.dynamic-load-apk 插件化
60.atlas 插件化
61.volley 网络
62.androidmvp 用例
63.SwipeBackLayout 手势
64.FlycoTabLayout UI
65.android-testing 测试
66.FileDownloader 下载
67.JieCaoVideoPlayer 多媒体
68.glide-transformations 图片
69.android-gpuimage 图片
70.RxPermissions 权限
71.freeline 编译
72.RxLifecycle 生命周期
73.classyshark 反编译
74.acra 崩溃日志
75.DiskLruCache 文件
76.dexposed 热修复
77.Litho 性能
78.mosby MVP
79.AndResGuard 混淆
80.StatusBarUtil 状态栏
81.robolectric 测试
82.Fragmentation 嵌套
83.Small 插件化
84.JsBridge hybrid
85.richeditor-android UI
86.Transitions-Everywhere 动画
87.android-viewbadger 勋章
88.AndroidWiFiADB 调试
89.emojicon 表情包
90.packer-ng-plugin 多渠道
91.android-priority-jobqueue 多线程
92.Android-Debug-Database 调试
93.conceal 加密
94.ARouter 页面路由
95.MagicaSakura 多主题
96.CustomActivityOnCrash 崩溃
97.XhsEmoticonsKeyboard 键盘

 注:榜单排序依据:

        1.项目开源

        2.github上该项目的star个数

        3.开发团队、作者的实力

 为了保证榜单内容的多样性,榜单上尽可能的不重复同类型框架(比如多款listview增强框架)

部分框架介绍:

(由于篇幅有限,下面只讲解部分框架,更全面的讲解查看:2017年Android百大框架排行榜,或者点击文末“阅读原文”查阅)

1. Retrofit

一句话介绍:Retrofit是一款类型安全的网络框架,基于HTTP协议,服务于Android和java语言

上榜理由:Retrofit以21.8k的stars量雄踞github中android子标题榜首,第一当之无愧。

官网地址 http://square.github.io/retrofit/

github   https://github.com/square/retrofit

作者:square团队

使用:

compile'com.squareup.retrofit2:retrofit:2.3.0'

 

2.okhttp

一句话介绍:okhttp是一款基于HTTP和HTTP2.0协议的网络框架,服务于java和android客户端

上榜理由,okhttp以20.4k的stars量雄踞github中android子标题第二名。大型公司比如淘宝也封装的是okhttp。Retrofit2.0开始内置okhttp框架,Retrofit专注封装接口完成业务需求,okhttp专注网络请求的安全高效,笔者将两者区分开,是想让后来学习者知道,这是两套框架,学习框架原理时可以分开学习,以免理解混乱。

官网地址   http://square.github.io/okhttp/

github    https://github.com/square/okhttp

作者:square团队

使用:

compile'com.squareup.okhttp3:okhttp:3.8.0'

 

3.Butter Knife

一句话介绍:Butter Knife所提供了一种能力——使用注解生成模板代码,将view与方法和参数绑定。

上榜理由:github上16.5K个star,配合Androidstudio提供的Butter Knife插件,帮助开发者省却了频繁findviewbyid的烦恼,最新的Butter Knife还提供了onclick绑定以及字符串的初始化,初学者可以查阅Butter Knife以及Butter Knife插件进一步学习!

官网地址:http://jakewharton.github.io/butterknife/

github:https://github.com/JakeWharton/butterknife

作者:JakeWharton ,也是square团队成员之一

使用:

dependencies {  compile'com.jakewharton:butterknife:8.6.0' annotationProcessor'com.jakewharton:butterknife-compiler:8.6.0'}

 

4.MPAndroidChart

一句话介绍:MPAndroidChart是一款图表框架

上榜理由:github上16.1K个star,以快速、简洁。强大著称的图表框架

官网地址 https://github.com/PhilJay/MPAndroidChart  

github  https://github.com/PhilJay/MPAndroidChart

作者:PhilJay

使用:

1. 在AS中加入Gradle依赖

  • 在根目录的 build.gradle上加入:

  • allprojects {    repositories {        maven { url"https://jitpack.io"}    } }

     

  • 在app的build.gradle上加入:

  • dependencies {    compile'com.github.PhilJay:MPAndroidChart:v3.0.2'}

     

5. glide

一句话介绍:glide是一款专注于提供流畅划动能力的“图片加载和缓存框架”

上榜理由:15.9k个star,图片加载类框架排名第一的框架,google 在2014开发者大会上演示的camera app就是基于gilde框架开发的

github https://github.com/bumptech/glide

作者 Bump Technologies团队

使用:

repositories {  mavenCentral() } dependencies {    compile'com.github.bumptech.glide:glide:3.8.0'   compile'com.android.support:support-v4:19.1.0'}

6.leakcanary

一句话介绍:一款内存检测框架,服务于java和android客户端

上榜理由:方便,简洁是leakcanary最大的特点,只需在应用的apllication中集成,就可以直接使用它;15.5k个star说明了它有多么受欢迎

github https://github.com/square/leakcanary

作者 square团队

使用:

dependencies {   debugCompile'com.squareup.leakcanary:leakcanary-android:1.5.1'  releaseCompile'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'  testCompile'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'}

在 Application 中写入:

publicclassExampleApplication extends Application {  @OverridepublicvoidonCreate() {    super.onCreate();    if(LeakCanary.isInAnalyzerProcess(this)) {      // This process is dedicated to LeakCanary for heap analysis.      // You should not init your app in this process.return;    }    LeakCanary.install(this);    // Normal app init code... } }

 

7.Android-Universal-Image-Loader

一句话介绍:曾经的图片加载框架王者,android开发老手都用过它

上榜理由:android端图片加载框架的老大哥了,15.3k个star足以证明它的热门,UIL与gilde最大区别是可定制,UIL提供了大量配置方式,图片加载状态的回调(成功,失败,进行中),加载动画等;以及提供了移动端图片加载框架的缓存思路:三级缓存策略 sd卡-内存-网络;值得注意的是,UIL以及两年未更新了,但笔者仍推荐各位使用!

github https://github.com/nostra13/Android-Universal-Image-Loader

作者 nostra13

使用:

下载地址  universal-image-loader-1.9.5.jar

 

8.EventBus 

一句话介绍:EventBus是一款本地组件间通信框架

上榜理由:组件间通信框架star量第一:14.8k,在大型项目的Activities,fragments,Threads,Services都可以看到它的使用场景,尽管EventBus在向未创建的组件传递事件时有些局限,仅适合在“活着的”组件间传递消息,但仍不妨碍它活跃在各个大型项目各个场景里。

官网地址 http://greenrobot.org/eventbus/documentation/how-to-get-started/

github  https://github.com/greenrobot/EventBus

作者 greenrobot 

使用:

compile'org.greenrobot:eventbus:3.0.0'

 

9.zxing

一句话介绍:条码图像处理库

上榜理由:如果你用过二维码,你肯定已经间接使用过大名鼎鼎的zxing了。13.9K的star量,让它排在本榜单第九,实至名归,如果你有了解二维码的需求,不妨从了解、修改它源码入手。

github  https://github.com/zxing/zxing

作者  Sean Owen

 

10.picasso

一句话介绍:强力的图片下载、缓存框架

上榜理由:本榜单出现的第三款图片类框架,不同的是picasso更强调图片下载,你可以将picasso集成进你的项目中,你也可以结合gilde和UIL与picasso,三者一齐封装至你的项目中,按需所用。

官网地址 http://square.github.io/picasso/

github  https://github.com/square/picasso

作者 square团队

使用:

compile'com.squareup.picasso:picasso:2.5.2'

或者下载 jar包


三.完整项目

1.iosche

一句话介绍:谷歌2016开发者大会的展示项目

上榜理由:github上有13.4k个star,位居企业级项目排行榜第一位,牛逼的开发者,权威的设计模式,标准的项目写法,值得一试;笔者建议初学者down下源码,找到app入口,每个页面走一通,配合设计模式的概念加深理解。

github https://github.com/google/iosched

作者: Google

 

2.Plaid

一句话介绍:提供设计新闻和灵感的开源app

上榜理由:标准的material design设计,新闻类app,github上9k的star量值得你摒弃市面上参差不齐的新闻app,快点下手研究它吧!

github  https://github.com/nickbutcher/plaid

 作者: Nick Butcher

 

3.PocketHub

一句话介绍:Github的Android版

上榜理由:8.7K的star数量,Github的亲生儿子,开放的源码值得各位一探究竟

github https://github.com/pockethub/PocketHub

作者:Fadil Sutomo

使用:

down下所有源码

 

4.Signal Android

一句话介绍:Signal是一款安全通讯的短信类app,

上榜理由:7.9K的star数量,工具类app的标签属性,让它在排行榜中独一无二,如果你对短信app有兴趣,可以深入探究一番

github https://github.com/WhisperSystems/Signal-Android

作者:WhisperSystems

使用:github上down源码

 

5.android-UniversalMusicPlayer

一句话介绍:一款跨设备运行的多媒体app

上榜理由:googlesamples良心推荐,github拥有7.9k个star,可以在Android手机,汽车,平板,穿戴设备上使用,对于仅仅体验过Android手机开发的程序员,会不会很新奇呢?你值得一试!

github https://github.com/googlesamples/android-UniversalMusicPlayer

作者:Google

使用:github上down源码

 

6.HomeMirror

 一句话介绍:如果你是个爱美的家伙那么你一定需要这面镜子!

上榜理由:工具类App很难再github上有一席之地,除非它提供特别新奇的功能,比如HomeMirror,github上有用7599个star,仅仅因为它提供了镜子的功能。从现在起,Android 手机、pad,都将成为你旅游居家神器,值得拥有!

github  https://github.com/HannahMitt/HomeMirror

作者:Hannah Mittens 

HomeMirror初体验:

 

7.ExoPlayer

一句话介绍:一款 替代Android原生MediaPlayer的媒体播放器

上榜理由:也许是Google对自家MediaPlayer API不甚满意,所以诞生了ExoPlayer,ExoPlayer提供了强大的扩展API,使用它来制作多媒体播放器更快捷,更容易扩展,对多媒体播放器感兴趣的同仁们可以用它来大展身手了!6.9K个star,证明它有多受开发者们喜爱,更难能可贵的是,google还在更新维护着!

官网地址:https://google.github.io/ExoPlayer/

github  https://github.com/google/ExoPlayer

作者:google

使用:

repositories {    jcenter() } compile'com.google.android.exoplayer:exoplayer:r2.X.X'compile'com.google.android.exoplayer:exoplayer-core:r2.X.X'compile'com.google.android.exoplayer:exoplayer-dash:r2.X.X'compile'com.google.android.exoplayer:exoplayer-ui:r2.X.X'

 

8.cheesesquare

一句话介绍:Android 材料设计的展示性项目

上榜理由:作者被称为是Android Support Lib背后的男人,他写出的展示性项目,怎能不推荐上榜?材料设计已经炒了好几年了,但作为最权威的展示项目,你一定需要它,6.7个star证明了它是多么的受欢迎。

github  https://github.com/chrisbanes/cheesesquare

作者:Chris Banes

 

9.DanmakuFlameMaster

一句话介绍:android端开源弹幕引擎

上榜理由:bilibili出品,保证了它的纯种品质,并且ndk源码也一并开源,可谓业界良心,该弹幕引擎的开源节省了很多视频直播小伙伴的开发成本,笔者强力推荐!

github https://github.com/Bilibili/DanmakuFlameMaster

作者:bilibili

使用:

repositories {    jcenter() } dependencies {    compile'com.github.ctiao:DanmakuFlameMaster:0.8.3'   compile'com.github.ctiao:ndkbitmap-armv7a:0.8.3'   # Other ABIs: optional    compile'com.github.ctiao:ndkbitmap-armv5:0.8.3'   compile'com.github.ctiao:ndkbitmap-x86:0.8.3'}

 

10.facebook-android-sdk

 一句话介绍:一款提供接入facebook平台能力的框架

上榜理由:无论是你有接入facebook的需求,还是有学习自制sdk的需求,这都是很棒的途径;如何开发一套企业级sdk,是进阶优秀开发工程师的必须之路,4.1k个star,facebook持久更新质量保证,你值得拥有!

github https://github.com/facebook/facebook-android-sdk

作者:facebook

使用:

https://developers.facebook.com/docs/android

 

11.android-oss

一句话介绍:国外创意社区Kickstarter 开源的Android版客户端

上榜理由:精致的企业级APP,每个页面处理得都很棒,如果你志在成为一个优雅工程师,这款开源项目一定适合你,3.8k个star证明了它不俗的生命力

github:https://github.com/kickstarter/android-oss

作者:kickstarter

使用;

clone源码到本地

 

12.k-9

一句话介绍:Android端客户端邮件App

上榜理由:还记得张小龙的成名作——FoxMail吗?如果你想做一款移动端Email App,k-9具有很好的借鉴价值,此外对于应用层协议你也会有更深的认识

官网地址: https://k9mail.github.io/

github  https://github.com/k9mail/k-9

使用:

clone项目到本地

 

13.Timber

一句话介绍:一款音乐播放器类App

 上榜理由:3K个star,完全按照材料设计规范,提供十几种播放特性,而且还提供App的通用设置能力,这一点做的同样优秀,对于志在提升开发技术的同学值得一试

github https://github.com/naman14/Timber

作者:Naman Dwivedi

使用:

clone源码是一个好习惯

 

14.remusic

一句话介绍:仿网易云音乐Android版App

上榜理由:学习完Timer,是否还不太满足你的胃口?remusic可以满足你的胃口——它甚至可以拿去直接当上线项目了!2.9K个star,基于Timber的设计(入手的前提是先搞懂Timber)值得入手;有一个问题:如果由你重构,你会如何做呢?

github https://github.com/aa112901/remusic

作者:MW

使用:

clone项目

 

15.Douya

一句话介绍:开源豆瓣客户端

上榜理由:一款功能全面、架构设计不俗的开源APP;仅仅是对豆瓣APP设计思路不满而进行的重构项目,可见作者对产品的痴迷和热爱,2.9K个star,证明该项目并不是头脑发热一时兴起的作品,如果每一个idea都能实现,那我们的世界将会多么美妙!

github  https://github.com/DreaminginCodeZH/Douya

作者:Zhang Hai

使用:

clone项目到本地

 

16.BookReader

一句话介绍:开源小说阅读器

上榜理由:2.7K个star,榜单里第一款阅读器APP,具有很高的学习价值(针对有兴趣往阅读工具类方向发展的同学)

github https://github.com/JustWayward/BookReader

作者:JustWayward 团队

使用:

clone到本地 

 

17.bilibili-android-client

一句话介绍:高仿bilibili的Android客户端

上榜理由:2.5K个star,榜单里第一款视频直播开源App;适合对视频直播、社区互动感兴趣的同学;bilibili-android-client里使用了很多大型框架,此项目并不适合基础薄弱的同学,不要灰心,学习页面的布局设计也是值得的!

github  https://github.com/HotBitmapGG/bilibili-android-client

作者:Hcc

使用:clone到本地

 

18.AndroidChromium

一句话介绍:Android版chrome浏览器

上榜理由:正如作者宣称的那样:

  • 谷歌浏览器安卓版源码项目

  • 世界级的安卓架构

  • 理清本项目业务逻辑完全可以胜任国内一线公司工程师

对于志在梳理浏览器框架的你,值得拥有

github https://github.com/JackyAndroid/AndroidChromium

作者:JackYAndroid

使用:

clone源码到本地

四.开发框架:

(排名无先后、只按类型划分)

1.libgdx

一句话介绍:一款跨平台的android端游戏开发框架

上榜理由:android端开发框架类第一名,11.7K的star量,游戏框架是它的专属标签,更重要的是它是跨平台的

官网地址  http://libgdx.badlogicgames.com/

github https://github.com/libgdx/libgdx

2.xUtils

一句话介绍:老牌企业级开发框架

上榜理由:4.9K个star,xUtils作为上古时期程序员备受推崇的开发框架,最大的原因——省事。xUtls包含四大模块,与之而来的是提供四大操作能力:数据操作、UI操作、Http协议操作、图片操作。xUtils作为笔者初学Android框架设计的导师型项目,在笔者多年经验中,看到xUtils作为众多中小银行Android端框架方案首选,足以证明它的受欢迎程度。该框架现在已经更新到了xUtils3,如果你对Android框架涉及有一定的想法,可以从xUtils入手,进阶为框架大师行列。虽然框架中很多引擎已经过时,各个模块的做法都可以用其他框架替代,但xUtils作为国内开发者的骄傲,上古时期的框架宠儿,值得你拥有!

github  https://github.com/wyouflf/xUtils

作者:wyouflf

使用:

compile'org.xutils:xutils:3.5.0'

3.android-common

一句话介绍: 一款android快速开发框架

上榜理由:滴滴资深级Android工程师出品,历经多年开发者的检验,以4.3K屹立于快速开发框架榜第三名,该框架提供了图片缓存、Http缓存、DropDownListView、下载模块、开发常用工具类等,作为上古时期程序员最早的总结性开发框架,它是一代人智慧的结晶,值得我们为作者Trinea鼓掌喝彩

github  https://github.com/Trinea/android-common

作者:Trinea

使用:

clone代码到本地

4.Vitamio

一句话介绍:一款支持跨平台的Android多媒体开发框架

上榜理由:如果之前提到的exoplayer不能满足你开发多媒体的需求,那我保证vitamio值得你一试

官网地址:https://www.vitamio.org/

github https://github.com/yixia/VitamioBundle

作者:yixia团队

使用:

clone源码到本地

 

5.Weex

一句话介绍:移动端跨平台开发的解决方案

上榜理由:14.4K个star,有成熟应用案例的企业级混合开发框架,阿里巴巴出品,为什么不试试呢?

官网地址:https://weex.apache.org/cn/

github  https://github.com/alibaba/weex

作者:alibaba

 

6.cordova-android(Hybrid 开发框架、WebApp开发框架)

一句话介绍:跨平台的开发框架

上榜理由:cordova有足够的能力完成混合开发、WebApp开发的需求:不论你是Web开发者,或者是Native开发者,使用cordova都可以作出跨平台的App 

官网地址:http://cordova.axuer.com/docs/zh-cn/latest/guide/overview/index.html

github https://github.com/apache/cordova-android

 

7.react-native

一句话介绍:一款以Javascript的语言来操作多个系统语言(Ios、Android)的框架

上榜理由:很难讲react-native属于什么类别,它适合前端工程师开发移动端App,也适合Native开发者进行跨平台的开发,但对于Navitve开发者来说陡峭的学习曲线会吓走一大批“框架爱好者”;前端界有一句名言:Web代表着未来,Native代表着现在,而我们处在现在与未来的道路上;49K个star,似乎让我们离未来更进一步

官网地址: http://facebook.github.io/react-native/docs/getting-started.html

github  https://github.com/facebook/react-native

作者:facebook 

 

五.其他:

1.AndroidUtilCode

一句话介绍:提供了数量庞大的工具类

上榜理由:10.8K的star个数,足以证明它是多么受欢迎,欢迎你提供常用的工具类壮大它!

github https://github.com/Blankj/AndroidUtilCode/blob/master/README-CN.md

 

File → Settings... → Plugins → Browse repositories...

and search for freeline.

 

2.kotiln

一句话介绍:Google推出的Android编程语言

上榜理由:就像AndroidStudio取代Eclipse那样,Goolg将kotiln作为Android的官网语言,也许是为了避免同Oracle的专利诉讼,但kotlin 100%兼容java,大幅精简java代码量,以及函数式编程的思想这些优异的特性同意值得我们注意,还记得在榜单之前说过的吗?未来是kotlin的,当下是java的,但我们处在当下通往未来的道路上——学习未来的编程语言,提升自己的工作效率,早点下班打豆豆,何乐而不为?

官网地址:http://kotlinlang.org/

github:https://github.com/JetBrains/kotlin

 使用:

http://kotlinlang.org/docs/reference/   提供了 api-android用例-书籍等资源

 

 

六.书籍类项目

(排序无先后)

1.Android developer中国官网培训课程

一句话介绍:符合中国国情的Google开发者官网的子产品——Android开发者官网

上榜理由:这里有培训课程、API用例课程、Sample用例、依赖库介绍、AndroidStudio官网...等等一系列公开免费的课程,尽管大部分内容还是英文讲解,可是你肯靠着英语词典一篇一篇啃完,相信我,你的Android知识水平将秒杀国内市面上大部分的Android书籍

官网地址:https://developer.android.google.cn/training/index.html

作者:google

 

2.android-architecture

一句话介绍:google提供的Android当下各种基本框架

上榜理由:看完它,mvp,mvvm都将入切瓜砍菜,秋风扫落叶一般...

github https://github.com/googlesamples/android-architecture

作者:google

 

3.andorid-open-project

一句话介绍:囊括Android几乎所有的开源项目的导航类目录

上榜理由:23k个star的导航类目录,与其盛名不符的是,该项目的导航、浏览阅读体验做的非常差,建议消遣之余阅读;推荐理由——中国人做的最全的Android 开源项目导航目录

github https://github.com/Trinea/android-open-project

作者:Trinea

 

4.awesome-android-ui

一句话介绍:Android的开源项目目录

上榜理由:国外的一款导航目录,23k个star

github  https://github.com/wasabeef/awesome-android-ui

预约申请免费试听课程

上一篇:程序员如何让你的知识内化?
下一篇:Google宣布6月30日停止对Android Market应用支持

Android Studio设置方法,教你怎么设置Android Studio

说好的Android绿色应用公约,现在怎么样了?

关于Android 8.0 Oreo用户体验问题详述

Android开发的演化之路

选择城市和中心
贵州省

广西省

海南省