github優秀Kotlin/Android項目top100

在這裏插入圖片描述曾經有人整理過Github上的Java/Android項目Top100,隨着愈來愈多的Android項目開始轉向Kotlin,我也想整理一下優秀的Kotlin/Android開源項目,便於你們更好的學習和參考。java

項目選取過程很簡單:android

  1. 搜索 android kotlin 關鍵字,Most stars按星量排名
  2. 人工二次篩選,篩掉一些面經、電子書類項目
  3. Best match校訂,避免漏掉一些低星的人氣項目
  4. 根據Trending以及筆者經驗不按期更新榜單,追加熱門項目

最終整理結果以下( 榜單將會持續更新和維護):ios

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+

to be continued...git

相關文章
相關標籤/搜索