2017 年 Android 百大框架排行榜

yellowgorilla 发布于2年前
0 条问题

框架:提供一定能力的小段程序

现在已经是2017年了,所以我写了一份《2017百大框架权威排行榜》,适合各个水平的开发工程师

原文链接: 2017年Android百大框架排行榜 - 杨超凡_金诚先生 - 博客园

一.榜单介绍

排行榜包括四大类:

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

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

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

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

榜单排序依据:

1.项目开源

2.github上该项目的star个数

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

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

适用读者范围:

  • 正在入门Android的新手~~~Android初级开发工程师 初出茅庐

熟读《书籍导航类项目排行榜》,勤加练习进步会更大; 编译运行并动脑思考 《企业级开源项目》中的案例,可以提升开发完整项目的能力;; 略读 《框架百大排行榜》,最大的作用是的是拓展视野,可以看到很多时下流行的名词概念术语

  • Android初级开发工程师~~~中级开发工程师 知其然知其所以然

熟练、快速、高效的默写出《企业级开源项目》中的(自己感兴趣)典型案例,对提高书写代码的自信,提升项目功能整体设计能力;深究《框架百大排行榜》排名靠前框架的 原理 ,会让自己在与家人、同事、同学聚会之时多了一些炫耀的资本;如果你能熟练运用《框架百大排行榜》里所提到的框架,在遇到某种需求的时候,立刻会拿出 “最优秀的框架” 去解决,意味着你离中级工程师不太远了

  • 中级、高级、资深工程师 知其然知其不可然

《框架百大排行榜》里所提到的流行词、流行术语——使用能力、融会贯通其原理、讲解框架能力的高低,将让你不断的在这三个级别徘徊;

会有意识的合并榜单里多款同类型框架,来弥补单一框架的某些缺陷,比如将同为网络请求框架的Volley和Okhttp封装到一起应对不同场面的需求;

会有意识的二次开发、修改源码来扩展榜单所提到的大型框架;

能够在开发团队里推动、部署某些框架的能力——比如要在一个新加入的陌生团队说服leader和项目成员使用热更新、插件化、组件化、hybrid 开发等多种开发模式,你是否有这个实力?

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

二.百大框架排行榜

快速索引

框架名称 上榜关键字
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. 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所提供了一种能力——使用注解