专栏名称: 开发者全社区
分享和推送Java/Android方向的技术和文章,让你成为这方面的大牛,让你每天都成长一点。同时,我们也会邀请BAT的大牛分享原创!
目录
相关文章推荐
开发者全社区  ·  汪小菲大骂周受资? ·  2 天前  
开发者全社区  ·  裁员杀红了眼? ·  2 天前  
开发者全社区  ·  王J林在崩溃边缘 ·  2 天前  
开发者全社区  ·  清华附的少爷 ·  2 天前  
开发者全社区  ·  DeepSeek看不上阿里 ·  3 天前  
51好读  ›  专栏  ›  开发者全社区

Android史上第一震撼榜单—2017年Android百大框架排行榜,附完整项目

开发者全社区  · 公众号  · android  · 2017-06-21 07:05

正文


热文导读 | 点击标题阅读

2017 年 Android 曲折的求职之路

吊炸天!74款APP完整源码!

阿里震撼业界—推出首个非侵入式热修复方案Sophix,颠覆移动端传统发版更新流程!

来源:http://www.cnblogs.com/jincheng-yangchaofan/articles/7018780.html

一.榜单介绍

排行榜包括 四大类

  • 单一框架 :仅提供路由、网络层、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.e mojicon 表情包
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 中写入:

public class ExampleApplication extends Application {

  @Override public void onCreate() {
    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

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







请到「今天看啥」查看全文


推荐文章
开发者全社区  ·  汪小菲大骂周受资?
2 天前
开发者全社区  ·  裁员杀红了眼?
2 天前
开发者全社区  ·  王J林在崩溃边缘
2 天前
开发者全社区  ·  清华附的少爷
2 天前
开发者全社区  ·  DeepSeek看不上阿里
3 天前
午夜漫画站  ·  色系漫画:讨厌小的东西
8 年前
算法与数学之美  ·  那些计算机界的伟大女性
8 年前
JavaScript  ·  程序员的鄙视链
7 年前