阅读 6040

github优秀Kotlin/Android项目top100

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

项目选取过程很简单:

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

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

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

to be continued...

文章分类
Android
文章标签