分享

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

 Levy_X 2017-06-22


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-dialogsUI
17.droid-async-http网络
18.androidannotations注解
19.fastjsonjson
20.Material-Animations动画
21.tinker热修复
22.ViewPagerIndicatorUI
23.Android-CleanArchitecture架构
24.Android-PullToRefresh刷新
25.flexbox-layoutUI
26.AndroidSwipeLayoutUI
27.realm-java数据库
28.greenDAO数据
29.stetho调试
30.BaseRecyclerViewAdapterHelperUI
31.AndroidViewAnimations动画
32.MaterialDrawer菜单
33.Android-ObservableScrollViewUI
34.CircleImageView图片
35.logger调试
36.agera异步
37.BottmBar菜单
38.Calligraphy字体
39.AndroidSlidingUpPanelUI
40.AppIntroUI
41.recyclerview-animators动画
42.dagger依赖注入
43.Android-BootstarpUI
44.RxBinding响应式
45.ListViewAnimations动画
46.UItimateRecyclerViewUI
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-drawableGIF
58.Apktool反编译
59.dynamic-load-apk插件化
60.atlas插件化
61.volley网络
62.androidmvp用例
63.SwipeBackLayout手势
64.FlycoTabLayoutUI
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.mosbyMVP
79.AndResGuard    混淆
80.StatusBarUtil状态栏
81.robolectric测试
82.Fragmentation嵌套
83.Small插件化
84.JsBridgehybrid
85.richeditor-androidUI
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./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./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./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://' }    } }

     

  

  • 在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:///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./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./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  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./

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./

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

作者:yixia团队

使用:

clone源码到本地

 

5.Weex

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

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

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

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

作者:alibaba

 

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

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

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

官网地址:http://cordova./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./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:///

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

 使用:

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

 

 

六.书籍类项目

(排序无先后)

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

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

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

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

作者:google

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多