最新整理:Github Top 前 100 的 Android 优秀开源项目

曾经有人整理过Github上的Java/Android项目Top100,随着越来越多的Android项目开始转向Kotlin,我也想整理一下优秀的Kotlin/Android开源项目,便于大家更好的学习和参考。

项目选取过程很简单:

  1. 搜索 android kotlin 关键字,Most stars按星量排名
  2. 人工二次筛选,筛掉一些面经、电子书类项目
  3. Best match校正,避免漏掉一些低星的人气项目
  4. 根据Trending以及笔者经验不定期更新榜单,追加热门项目

最终整理结果如下( 榜单将会持续更新和维护):

No. Repo Desc Star
1 square/okhttp 方块公司出品的http客户端库, 4.0的大版本功能上与3.0完全一致,只是将语言从Java换成Kotlin重写了一遍,非常适合两门语言的对照学习 38k+
2 square/leakcanary 同样来自方块公司出品,一款检测内存泄露工具, 帮助你在开发阶段方便的检测出内存泄露的问题, 使用起来非常简单方便,其工作原理是面试中的常见问题 25k+
3 afollestad/material-dialogs AppCompat的Material主题仅管支持绝大多数控件,却没法让AlertDialog也变成Material风格,这个库允许你在任意版本上实现Material风格的alertdialog,而且自定义起来也非常方便 18k+
4 Kotlin/anko Anko is a Kotlin library which makes Android application development faster and easier, 虽然已经不在维护,但是仍然值得学习和借鉴 15k+
5 LouisCAD/Splitties 由于anko-layout的废弃,想基于DSL进行UI布局的同学可以看看这个库,可以学习到KotlinDSL的更多玩法 1.3k
6 square/retrofit okhttp虽好,但在android开发中很少直接使用,更多的是使用retrofit。其源码中处处渗透着优秀的设计模式,非常值得学习 36k
7 permissions-dispatcher/PermissionsDispatcher 通过使用注解用来管理 Android6.0之后引入了动态权限申请, 兼容kapt的使用 10k+
8 JakeWharton/RxBinding J神的RxBinding,已经用Kt重写过了 9.5k+
9 gyf-dev/ImmersionBar android 4.4以上沉浸式状态栏和沉浸式导航栏管理,适配横竖屏切换、刘海屏、软键盘弹出等问题,可以修改状态栏字体颜色和导航栏图标颜色 8.6k+
10 InsertKoinIO/koin 发挥 Kotlin语法优势,配合DSL、reified等特性实现的依赖注入框架(更准确的说是个服务发现框架) 5.9k
11 Kodein-Framework/Kodein-DI 跟Koin功能和定位类似的Kotlin依赖注入框架,相对于Koin影响力略小 2.4k+
12 zetbaitsu/Compressor android图片压缩库,通过使用DSL接口更加易用,同时支持在Coroutine总处理异步任务 5.4k+
13 android/android-ktx 官方的kotlin扩展库,基本上是Kotlin/Android项目的必备工具 7.6k+
14 square/moshi Kotlin上首选的序列化/反序列化库,其中一些kapt的操作值得学习 6.5k
15 wasabeef/Blurry 可能对于学习Kotlin帮助不大,但是作为Android上少有的高斯模糊库,了解一下 4.5k+
16 square/okio 让你更加简单的处理java.io,对于Kotlin也有很好的支持 7.1k+
17 coil-kt/coil android端的图片加载库,虽然没有glide、fresco的前辈的名气大,但是在我的榜单排名更靠前,因为它完全由kotlin打造,使用coroutine处理异步任务 4.3k+
18 igorwojda/android-showcase 虽然不是一个工具库,但是里面有很多Kotlin/Android开发的最佳实践和范例,值得学习 3.7k+
19 kittinunf/fuel 号称Kotlin/Androids上最简单的HTTP网络库,使用kt的lambda语法处理各种回调 3.6k+
20 square/wire 可用于Kotlin的gRPC库,方块出品必属精品 3.2k+
21 airbnb/MvRx 用于Kotlin/Android的Redux框架,充分发挥Kotlin的语法优势,例如通过by关键字创建ViewModel,比Jetpack出现更早 3.7k
22 airbnb/epoxy Android列表库,配合MvRx可以打造响应式的列表页面,节省大量模板代码 6.7k+
23 mikepenz/FastAdapter 快速创建和配置RecyclerView的Adapter,核心代码基于Kotlin实现 3.1k+
24 spekframework/spek 基于Kotlin的单元测试框架,可以用DLS的方式写UT 2k+
25 skydoves/Pokedex 一个学习Android的Best Practice项目,使用了Dagger Hilt, Motion, Coroutines, Flow, Jetpack (Room, ViewModel, LiveData)等各种新技术 3k+
26 android10/Android-CleanArchitecture-Kotlin 在Kotlin/Android中实践Clean Architecture的SampleApp,边学语言边学架构设计 2.7k+
27 arrow-kt/arrow 大名鼎鼎的用于基于Kotlin的函数式编程库 3.8k
28 anvil-ui/anvil 基于React思想的Kotlin/Android的响应式UI框架 1.4k+
29 Yalantis/JellyToolbar 一个用于Kotlin/Android的自定义Toolbal,虽然几年前的库了 1.5k+
30 airbnb/paris 可以通过代码动态设置控件的Style,摆脱烦人的xml 1.4k+
31 google/flexbox-layout 可以在android中使用Flaxbox布局的控件 15.9k+
32 sanogueralorenzo/Android-Kotlin-Clean-Architecture 另一款用于kotlin/android的Clean Architecture库 1.3k+
33 xiaojinzi123/Component 一个强大、100% 兼容、支持 AndroidX、支持 Kotlin并且灵活的组件化框架 2k+
34 Shopify/livedata-ktx Livedata的Kotlin扩展,像RxJava一样增加了一些链式操作符 460+
35 arrow-kt/arrow 大名鼎鼎的用于基于Kotlin的函数式编程库 3.8k
36 sseasonnn/RxDownload A multi-threaded download tool written with RxJava and Kotlin 3.9k
37 detekt/detekt kotlin的静态检查工具,AST部分也是用Kotlin实现的 3.1k
38 uber/AutoDispose 对RxJava流进行自动bind和dispose,部分代码用kotlin实现 3k+
39 moezbhatti/qksms Kotlin/Android的IM App 2.9k+
40 square/kotlinpoet 与javapoet的作用一样,协助生成kotlin代码,框架本身也是用kotlin实现的 2.4k+
41 nhaarman/mockito-kotlin 使用Kotlin在UT中写mockito 2.4k+
42 Kotlin/kotlinx.serialization Kotlin官方的序列化库,可用于Kotlin Multiplatform Project 2.3k+
43 pilgr/Paper Paper是一个快速的NoSQL类存储,用于Android上的Java / Kotlin对象,支持自动模式迁移 2.1k+
44 square/AssistedInject 自动生成JSR330规范的DI模板代码 700+
45 freeletics/RxRedux 用于Kotlin/Android的Redux库,基于RxJava实现 500+
46 babylonhealth/orbit-mvi 这是一个用于Kotlin/Android的Model-View-Intent (MVI)框架。它的灵感来自Jake Wharton,RxFeedback和Mosby的“Managing State with RxJava" 300+
47 Foso/Jetpack-Compose-Playground 帮助你学习Jetpack Compose的优秀项目 500+
48 Kotlin/dokka 像javadoc一样,用于生成Kotlin的doc 1.7k+
49 skydoves/ColorPickerPreference Android上的颜色选取库,可实现ColorPicker,ColorPickerDialog,ColorPickerPreference等功能 340+
50 RubyLichtenstein/RxTest RxTest是一个用于测试RxJava的Kotlin库 280+
51 google/iosched GooglePlay官方APP的开源项目,同时是一个学习Kotlin/Jetpack的最佳实践 20k+
52 ReactiveCircus/FlowBinding 简单说就是Coroutine Flow版的RxBinding 450+

总结

优秀的程序员都会懂得通过学习来提高自己的技术和竞争力,以此在工作中彰显自己的价值。为此我也特地整理了一份《Android进阶知识库》,希望能帮助自己和大家查漏补缺。目前在 Github 上已有 0.1K+Star,需要阅读的朋友,我把GIthub地址放在下方,欢迎查阅;

Github地址:https://github.com/733gh/xiongfan


 

猜你喜欢

转载自blog.csdn.net/qq_39477770/article/details/112789890