2019年 Android 开源框架 排行榜 TOP 60
2019年 Android 開源框架 排行榜 TOP 50?
?
1.Retrofit
一句話介紹:Retrofit是一款類型安全的網(wǎng)絡(luò)框架,基于HTTP協(xié)議,服務(wù)于Android和java語言
上榜理由:Retrofit以21.8k的stars量雄踞github中android子標(biāo)題榜首,第一當(dāng)之無愧。
官網(wǎng)地址 http://square.github.io/retrofit/
github ? https://github.com/square/retrofit
作者:square團(tuán)隊
使用:
implementation 'com.squareup.retrofit2:retrofit:2.3.0'2.okhttp
一句話介紹:okhttp是一款基于HTTP和HTTP2.0協(xié)議的網(wǎng)絡(luò)框架,服務(wù)于java和android客戶端
上榜理由,okhttp以20.4k的stars量雄踞github中android子標(biāo)題第二名。大型公司比如淘寶也封裝的是okhttp。Retrofit2.0開始內(nèi)置okhttp框架,Retrofit專注封裝接口完成業(yè)務(wù)需求,okhttp專注網(wǎng)絡(luò)請求的安全高效,筆者將兩者區(qū)分開,是想讓后來學(xué)習(xí)者知道,這是兩套框架,學(xué)習(xí)框架原理時可以分開學(xué)習(xí),以免理解混亂。
官網(wǎng)地址 ? http://square.github.io/okhttp/
github ? ?https://github.com/square/okhttp
作者:square團(tuán)隊
使用:
implementation 'com.squareup.okhttp3:okhttp:3.9.1'?
3.Butter Knife
一句話介紹:Butter Knife所提供了一種能力——使用注解生成模板代碼,將view與方法和參數(shù)綁定。
上榜理由:github上16.5K個star,配合Androidstudio提供的Butter Knife插件,幫助開發(fā)者省卻了頻繁findviewbyid的煩惱,最新的Butter Knife還提供了onclick綁定以及字符串的初始化,初學(xué)者可以查閱Butter Knife以及Butter Knife插件進(jìn)一步學(xué)習(xí)!
官網(wǎng)地址:http://jakewharton.github.io/butterknife/
github:https://github.com/JakeWharton/butterknife
作者:JakeWharton ,也是square團(tuán)隊成員之一
使用:
dependencies { ?implementation 'com.jakewharton:butterknife:8.8.1' ?annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' }?
4.MPAndroidChart
一句話介紹:MPAndroidChart是一款圖表框架
上榜理由:github上16.1K個star,以快速、簡潔。強(qiáng)大著稱的圖表框架
官網(wǎng)地址 https://github.com/PhilJay/MPAndroidChart ?
github ?https://github.com/PhilJay/MPAndroidChart
作者:PhilJay
使用:
在AS中加入Gradle依賴
在根目錄的 build.gradle上加入:
allprojects {repositories {maven { url "https://jitpack.io"}} }在app的build.gradle上加入:
dependencies { ? ?implementation'com.github.PhilJay:MPAndroidChart:v3.0.3' }?
5. glide
一句話介紹:glide是一款專注于提供流暢劃動能力的“圖片加載和緩存框架”
上榜理由:15.9k個star,圖片加載類框架排名第一的框架,google 在2014開發(fā)者大會上演示的camera app就是基于gilde框架開發(fā)的
github https://github.com/bumptech/glide
作者 Bump Technologies團(tuán)隊
使用:
repositories {mavenCentral() }dependencies {implementation 'com.github.bumptech.glide:glide:4.5.0'annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0' }?
6. leakcanary
一句話介紹:一款內(nèi)存檢測框架,服務(wù)于java和android客戶端
上榜理由:方便,簡潔是leakcanary最大的特點,只需在應(yīng)用的apllication中集成,就可以直接使用它;15.5k個star說明了它有多么受歡迎
github https://github.com/square/leakcanary
作者 square團(tuán)隊
使用:
dependencies {debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.4'releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'}在 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
一句話介紹:曾經(jīng)的圖片加載框架王者,android開發(fā)老手都用過它
上榜理由:android端圖片加載框架的老大哥了,15.3k個star足以證明它的熱門,UIL與gilde最大區(qū)別是可定制,UIL提供了大量配置方式,圖片加載狀態(tài)的回調(diào)(成功,失敗,進(jìn)行中),加載動畫等;以及提供了移動端圖片加載框架的緩存思路:三級緩存策略 sd卡-內(nèi)存-網(wǎng)絡(luò);值得注意的是,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在向未創(chuàng)建的組件傳遞事件時有些局限,僅適合在“活著的”組件間傳遞消息,但仍不妨礙它活躍在各個大型項目各個場景里。
官網(wǎng)地址 http://greenrobot.org/eventbus/documentation/how-to-get-started/
github ?https://github.com/greenrobot/EventBus
作者 greenrobot
使用:
implementation 'org.greenrobot:eventbus:3.1.1'?
9.zxing
一句話介紹:條碼圖像處理庫
上榜理由:如果你用過二維碼,你肯定已經(jīng)間接使用過大名鼎鼎的zxing了。13.9K的star量,讓它排在本榜單第九,實至名歸,如果你有了解二維碼的需求,不妨從了解、修改它源碼入手。
github ?https://github.com/zxing/zxing
作者 ?Sean Owen
?
10.picasso
一句話介紹:強(qiáng)力的圖片下載、緩存框架
上榜理由:本榜單出現(xiàn)的第三款圖片類框架,不同的是picasso更強(qiáng)調(diào)圖片下載,你可以將picasso集成進(jìn)你的項目中,你也可以結(jié)合gilde和UIL與picasso,三者一齊封裝至你的項目中,按需所用。
官網(wǎng)地址 http://square.github.io/picasso/
github ?https://github.com/square/picasso
作者 square團(tuán)隊
使用:
implementation 'com.squareup.picasso:picasso:2.5.2'或者下載jar包
?
11.lottie-android
一句話介紹:一款可以在Android端快速展示Adobe Afeter Effect(AE)工具所作動畫的框架
上榜理由:動畫類框架第一名,github上13.3k個star證明了他的優(yōu)越性,利用json文件快速實現(xiàn)動畫效果是它最大的便利,而這個json文件也是由Adobe提供的After Effects(AE)工具制作的,在AE中裝一個Bodymovin的插件,使用這個插件最終將動畫效果生成json文件,這個json文件即可由LottieAnimationView解析并生成絢麗的動畫效果。而且它還支持跨平臺喲。
github ?https://github.com/airbnb/lottie-android
作者:Airbnb 團(tuán)隊
?
12.fresco
一句話介紹:一款可以管理圖片內(nèi)存的框架
上榜理由:github上12.8k個star,圖片類排行榜第四名,facebook的出身證明了它并非是重復(fù)造的輪子,在管理圖片內(nèi)存領(lǐng)域上有著它的一片天地,漸進(jìn)式加載、加載gif都是它與前三位相比獨有的特性
官網(wǎng)地址: https://www.fresco-cn.org/
github ?https://github.com/facebook/fresco
作者 facebook
使用:
dependencies {// 其他依賴implementation 'com.facebook.fresco:fresco:0.12.0' }下面的依賴需要根據(jù)需求添加:
dependencies {// 在 API < 14 上的機(jī)器支持 WebP 時,需要添加implementation 'com.facebook.fresco:animated-base-support:0.12.0'// 支持 GIF 動圖,需要添加implementation 'com.facebook.fresco:animated-gif:0.12.0'// 支持 WebP (靜態(tài)圖+動圖),需要添加implementation 'com.facebook.fresco:animated-webp:0.12.0'implementation 'com.facebook.fresco:webpsupport:0.12.0'// 僅支持 WebP 靜態(tài)圖,需要添加implementation 'com.facebook.fresco:webpsupport:0.12.0' }?
13.RxAndroid
一句話介紹:一款A(yù)ndroid客戶端組件間異步通信的框架
上榜理由:github上12.7k個star,位居組件通信框架的第二名,僅在EventBus之后,如果要問兩者的區(qū)別,Eventbus是用來取代組件間繁瑣的interface,RxAndroid是用來取代AnsyTask的,并不沖突;當(dāng)然RxAndroid的優(yōu)點并不僅限于此,更多優(yōu)雅的實現(xiàn),可以去官網(wǎng)查閱!
github ?https://github.com/ReactiveX/RxAndroid
作者 JakeWharton
使用:
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1' implementation 'io.reactivex.rxjava2:rxjava:2.1.0'?
14.SlidingMenu
一句話介紹:側(cè)滑菜單欄框架
上榜理由:與Userval-Image-loader 齊名的上古神器框架——為你的app提供側(cè)滑菜單欄的功能;github閃更有10.5k個star,證明了它的經(jīng)久不衰,即使在Google推出了NavigationDrawer,仍然沒有減少開發(fā)者對SildingMenu的擁簇,經(jīng)典總是經(jīng)得起考驗的,這個上古神獸已經(jīng)四年沒有更新了;有太多太多的app使用過它,這些都可以在軟件的開源許可上看到!
github https://github.com/jfeinstein10/SlidingMenu
作者 Jeremy Feinstein
使用:
在gihub上fork源碼,集成進(jìn)項目中
?
?
15.PhotoView
一句話介紹:一款I(lǐng)mageView展示框架,支持縮放,響應(yīng)手勢
上榜理由:10.3k的star數(shù)量,位于圖片類框架排行榜第五位,PhotoView與前四位不同的是這次帶來的是圖片的展示能力,你一定好奇微信的頭像點擊放大是如何實現(xiàn)的,很多App的圖片顯示響應(yīng)手勢按壓是如何實現(xiàn)的,了解PhotoView,你一定會開心的!(筆者也不會告訴你ImageView的點擊放大效果在Android的sample也有)
github ?https://github.com/chrisbanes/PhotoView
作者:chrisbanes
使用:
在app根目錄的build.gradle中加入:
allprojects {repositories {maven { url "https://jitpack.io" }} }在app的module目錄的build.gralde中加入:
dependencies {implementation 'com.github.chrisbanes:PhotoView:latest.release.here' }使用
<com.github.chrisbanes.photoview.PhotoViewandroid:id="@+id/photo_view"android:layout_width="match_parent"android:layout_height="match_parent"/>PhotoView photoView = (PhotoView) findViewById(R.id.photo_view); photoView.setImageResource(R.drawable.image);?
16. material-dialogs
一句話介紹:一款自定義dialog框架
上榜理由:9.9k個star,也是繼PhotoView,SlidingMenu之后第三款自定義View框架,也許你還是自定義View的新人,對Dialog使用的還有點生疏,你可以通過它提升你的Dilaog使用能力
github ?https://github.com/afollestad/material-dialogs
作者:Aidan Follestad
使用:
dependencies {// ... other dependencies hereimplementation 'com.afollestad.material-dialogs:core:0.9.4.5' }?
17.droid-async-http
一句話介紹:一款基于Http協(xié)議的異步請求的網(wǎng)絡(luò)框架,
上榜理由:雖然你有無數(shù)個使用retrofit+okhttp的理由,但9.8k個star,證明它仍然值得你深入學(xué)習(xí)。值得注意的是,它也已經(jīng)有兩年沒更新了,你盡管拿去當(dāng)你懶惰的理由!
github ? https://github.com/loopj/android-async-http
作者:James Smith
使用:
repositories {maven {url 'https://oss.sonatype.org/content/repositories/snapshots/'} }dependencies {implementation 'com.loopj.android:android-async-http:1.5.0-SNAPSHOT' }?
18.androidannotations
一句話介紹:一款基于注解的快速開發(fā)框架
上榜理由:與Butterknife一樣基于注解,利用注解快速完成view的初始化,不同的是androidannotations提供了更多的能力:簡單的線程模型等;筆者只接觸過Butterknife,無法更進(jìn)一步敘述androidannotations的優(yōu)勢,如果你志在深入了解注解的妙用,可以嘗試探索一下!
官網(wǎng)地址 http://androidannotations.org/
github https://github.com/androidannotations/androidannotations
作者: WonderCsabo
?
19.fastjson
一句話介紹:一款基于json解析、生成的框架
上榜理由:從它的名字不難看出,快速是它最大的特性,阿里巴巴的出身保證了代碼的質(zhì)量和優(yōu)越,9.4k的star數(shù)量,也是榜單里第一個出現(xiàn)的中國開源框架,涉及網(wǎng)絡(luò)的app都會用到j(luò)son,fastjson值得作為你的首選!
github ?https://github.com/alibaba/fastjson
作者:alibaba
使用:
implementation 'com.alibaba:fastjson:1.1.58.android'
20.Material-Animations
一句話介紹:一款提供場景轉(zhuǎn)換過渡能力的動畫框架
上榜理由:Android動畫框架排行榜第二名,9.3k個star數(shù)量,與動畫框架榜單第一名lottie-android不同的是,Material-Animations提供的是場景切換的動畫效果。Android 官網(wǎng)sample中已經(jīng)提供了部分Transition (轉(zhuǎn)場動畫)的展示,作為初學(xué)者很難快速拓展到自己項目中,Material-Animations的示例出現(xiàn)為開發(fā)者省去了此類麻煩,直接照搬應(yīng)用到自己的App中吧。
github ?https://github.com/lgvalle/Material-Animations
作者:Luis G. Valle
使用:down源碼,修改學(xué)習(xí)
?
21.tinker
一句話介紹:它是微信官網(wǎng)的Android熱補(bǔ)丁解決方案
上榜理由:9.1k個star,微信在用的熱補(bǔ)丁方案,心動不如行動
官網(wǎng)地址 ?http://www.tinkerpatch.com/Docs/intro
github ? https://github.com/Tencent/tinker
作者:Tencent
?
22.ViewPagerIndicator
一句話介紹:一款基于ViewPager的頁面指示器開源框架
上榜理由:上古神器,盡管已經(jīng)五年未更新了,但你仍然可以在淘寶等app中看到它的使用場景,8.9K的star量讓它不慍不火的在矗立在榜單里
官網(wǎng)地址 http://viewpagerindicator.com/
github ?https://github.com/JakeWharton/ViewPagerIndicator
作者:JakeWharton
使用:
下載地址 https://github.com/JakeWharton/Android-ViewPagerIndicator/zipball/master
?
23.Android-CleanArchitecture
一句話介紹:一個講解設(shè)計框架的demo
上榜理由:它不是框架,你可以把它當(dāng)作一本書,它將教會你如何設(shè)計簡潔的架構(gòu),工程里有一個sample app,配合圖文講解,你將對Android客戶端的架構(gòu)有更深一層的認(rèn)識。8.8k的star數(shù)量,證明了它是一本“好書”喲。
github ?https://github.com/android10/Android-CleanArchitecture
作者:Fernando Cejas
?
24. Android-PullToRefresh
一句話介紹:一款為普通視圖提供刷新UI的視圖框架
上榜理由:8.2K的star數(shù)量使它位居刷新類UI框架榜首,強(qiáng)大的兼容能力,該框架支持ListView,GrdiView,WebViewScrollView,ViewPager等眾多View增加刷新的能力,如果你有增加上拉加載,下拉加載的需求,你應(yīng)該考慮它了!
github https://github.com/chrisbanes/Android-PullToRefresh
作者:Chris Banes
使用:
github fork源碼,集成到項目中
?
25. flexbox-layout
一句話介紹:一款彈性伸縮布局
上榜理由:8.1k個star,前端H5開發(fā)者轉(zhuǎn)Android開發(fā)的福音,FlexboxLayout作為LinearLayout和RelativeLayout的替代者,值得各位一試,與其一同推出的還有ConstraintLayout。
github ?https://github.com/google/flexbox-layout
作者:Google
使用:
dependencies {implementation 'com.google.android:flexbox:0.3.0-alpha3' }
26.AndroidSwipeLayout
一句話介紹:非常強(qiáng)大滑動式布局
上榜理由:滑動刪除是國產(chǎn)app常見需求,商品詳情的上下滑動需求作為開發(fā)者的我們也經(jīng)常遇到,AndroidSwipeLayout在github上擁有8K個star,證明它經(jīng)受住了檢驗,各位值得一試
github https://github.com/daimajia/AndroidSwipeLayout
作者:daimajia
使用:
dependencies {implementation 'com.android.support:recyclerview-v7:21.0.0'implementation 'com.android.support:support-v4:20.+'implementation "com.daimajia.swipelayout:library:1.2.0@aar" }或下載
AndroidSwipeLayout-v1.1.8.jar
?
27.realm-java
一句話介紹:Realm是一款移動端數(shù)據(jù)庫框架
上榜理由:核心數(shù)據(jù)引擎C++打造,比普通的Sqlite型數(shù)據(jù)庫快的多。筆者猜測正是如此,realm以7892個star數(shù)讓它位于大名鼎鼎的數(shù)據(jù)庫框架GreenDao(7877)之前
官網(wǎng)地址:https://realm.io/cn/
github https://github.com/realm/realm-java
作者:Realm團(tuán)隊
使用:https://realm.io/docs/java/latest/
?
28.greenDAO
一句話介紹:greenDAO是一款高效、快速的SQLite型數(shù)據(jù)庫
上榜理由:greenDAO的star數(shù)量與Realm不相上下,且與EventBus師出同門,也是由greenrobot團(tuán)隊開發(fā)維護(hù)的,質(zhì)量有所保證,但若拷問筆者Realm與greenDao兩者的優(yōu)劣性,只能具體到實際使用當(dāng)中,模擬線上的使用情形,進(jìn)行高強(qiáng)度測試后才能下判斷,故在此不能一言兩語說完,深表遺憾
官網(wǎng)地址:http://greenrobot.org/greendao/
github ?https://github.com/greenrobot/greenDAO
使用:
buildscript {repositories {jcenter()mavenCentral()// add repository}dependencies {classpath 'com.android.tools.build:gradle:2.3.1'classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'// add plugin} }----- apply plugin: 'com.android.application' apply plugin: 'org.greenrobot.greendao' // apply plugindependencies {implementation 'org.greenrobot:greendao:3.2.2' // add library }
29.stetho
一句話介紹:一款提供在Chrome開發(fā)者工具上調(diào)試Android app能力的開源框架
上榜理由:上古時期Android程序員要調(diào)試本地數(shù)據(jù)庫,需要進(jìn)入Android Device Monitor找到/data/data/com.xxx.xxx/databases里面的db文件,導(dǎo)出到PC端,用PC的數(shù)據(jù)工具查看,現(xiàn)在使用stetho省卻了如此的麻煩;如今的Android程序員如果想調(diào)試網(wǎng)絡(luò)請求響應(yīng)過程中的報文段,需要在請求中加入Log語句,一個信息一個信息打印出來,相當(dāng)繁瑣,現(xiàn)在請使用stetho,省卻諸如此類的麻煩把!7.8K個star數(shù),廣大Android開發(fā)者調(diào)試的福音,你值得擁有!
作者:FaceBook
官網(wǎng)地址: http://facebook.github.io/stetho/
github ? https://github.com/facebook/stetho
使用:
compile ‘com.facebook.stetho:stetho:1.5.0’
?
30.BaseRecyclerViewAdapterHelper
一句話介紹:強(qiáng)大、流暢的Recyvlerview通用適配器
上榜理由:如果你是RecyclerView的擁簇者,你一定要體驗這款專門服務(wù)該view的適配器,7.7K個star,讓這個家伙位于github上Android 適配器排行榜第一,還有很多驚喜等你去探尋!
官網(wǎng)地址:http://www.recyclerview.org/
作者:陳宇明以及他的小伙伴
使用:
allprojects {repositories {...maven { url "https://jitpack.io" }} }dependencies {implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:VERSION_CODE' }
31.AndroidViewAnimations
一句話介紹:一款提供可愛動畫集合的框架
上榜理由:正如作者所說,它囊括了開發(fā)需求過程中所有的動畫效果,集成進(jìn)了這個簡潔可愛的動畫框架。7.6K的star數(shù),證明了它在動畫框架領(lǐng)域的戰(zhàn)斗力,讓它僅僅位列l(wèi)ottie-android和Material-Animations兩個動畫框架霸主之后,屈居第三名
github https://github.com/daimajia/AndroidViewAnimations
作者:daimajia
使用:
dependencies {compile 'com.android.support:support-compat:25.1.1'compile 'com.daimajia.easing:library:2.0@aar'compile 'com.daimajia.androidanimations:library:2.2@aar' }sample:YoYo.with(Techniques.Tada).duration(700).repeat(5).playOn(findViewById(R.id.edit_area));?
32.MaterialDrawer
一句話介紹:強(qiáng)大的塑料風(fēng)格的抽屜框架
上榜理由:7.6K的star數(shù)量,作者的持續(xù)更新狀態(tài),如果你還在猶豫上手SlidingMenu遇到bug沒人管的困境,那么你可以入手它作為你的抽屜布局
github ?https://github.com/mikepenz/MaterialDrawer
作者:Mike Penz
使用:
implementation ('com.mikepenz:materialdrawer:5.9.2@aar') {transitive = true } new DrawerBuilder().withActivity(this).build();
33.Android-ObservableScrollView
一句話介紹:一款讓視圖滑動更具有視覺效果的滑動式框架
上榜理由:7.5K的star數(shù)量,證明了它曾經(jīng)的價值,github上提供了12種滑動效果,你可以用它彌補(bǔ)其他框架的不足,提升你的App體驗!
github https://github.com/ksoichiro/Android-ObservableScrollView
作者:Soichiro Kashima
使用:
implementation com.github.ksoichiro:android-observablescrollview
34.CircleImageView
一句話介紹:圓角ImageView
上榜理由:也許你已經(jīng)聽說過無數(shù)種展示圓角圖片的方法,但如果你不嘗試嘗試CircleImageView,那么你的知識庫會因為少了它黯然失色,有的時候完成需求是開發(fā)者優(yōu)先考慮的,不同實現(xiàn)方法牽扯到的性能差異更值得讓人深思,如果你有心在圖片性能上有所涉獵,那么CircleImageView絕對不會讓你敗興而歸。最后別忘了記得去看Romain Guy的建議喲。
github https://github.com/hdodenhof/CircleImageView
作者:Henning Dodenhof
使用:
dependencies {...implementation 'de.hdodenhof:circleimageview:2.1.0' } <de.hdodenhof.circleimageview.CircleImageViewxmlns:app="http://schemas.android.com/apk/res-auto"android:id="@+id/profile_image"android:layout_width="96dp"android:layout_height="96dp"android:src="@drawable/profile"app:civ_border_width="2dp"app:civ_border_color="#FF000000"/>
35.logger
一句話介紹:一款讓log日志優(yōu)雅顯示的框架
上榜理由:logger作為調(diào)試框架,并未給出很強(qiáng)大的能力,它最大的亮點是優(yōu)雅的輸出log信息,并且支持多種格式:線程、Json、Xml、List、Map等,如果你整日沉迷于汪洋大海般的log信息不能自拔,logger就是你的指路明燈!6.6k個star讓他位列調(diào)試框架第二名,屈居facebook的stetho之后
github https://github.com/orhanobut/logger
作者:Orhan Obut
使用:
implementation 'com.orhanobut:logger:2.1.1' Logger.d(MAP); Logger.d(SET); Logger.d(LIST); Logger.d(ARRAY); Logger.json(JSON_CONTENT); Logger.xml(XML_CONTENT);
36.agera
一句話介紹:一款服務(wù)于Android平臺的響應(yīng)式編程框架
上榜理由:google專門推出一套響應(yīng)式編程框架服務(wù)于Android開發(fā)者,相比于之響應(yīng)式編程框架榜首的 RxJava RxAndroid,它更輕量,兩者最大的不同點在于agera基于push event、pull data (VS Rx系列 push data)。
github https://github.com/google/agera
作者:Google
使用:
?implementation 'com.google.android.agera:agera:1.3.0'擴(kuò)展能力
?compile 'com.google.android.agera:content:1.3.0'compile 'com.google.android.agera:database:1.3.0'compile 'com.google.android.agera:net:1.3.0'compile 'com.google.android.agera:rvadapter:1.3.0'compile 'com.google.android.agera:rvdatabinding:1.3.0'
37.BottmBar
一句話介紹:一款底部導(dǎo)航欄視圖框架
上榜理由:底部欄里的王者框架,6.3K的star數(shù)量,證明了它的優(yōu)秀,完全遵循材料設(shè)計規(guī)范,上手非常方便。如果說缺點,無法設(shè)置icon與titile的間距,無法自定義視圖的大小等,但這些都可以通過修改源代碼解決,筆者獻(xiàn)丑也修改了一套符合國內(nèi)開發(fā)者的底部導(dǎo)航框架,即將開源。
github ?https://github.com/roughike/BottomBar
作者:Iiro Krankka
使用:
implementation 'com.roughike:bottom-bar:2.3.1'
38.Calligraphy
一句話介紹:一款自定義字體框架
上榜理由:如果你還在為一鍵修改App內(nèi)所有字體樣式而煩惱,6.3K個star的Calligraphy就值得你擁有,它可以同時修改整個整個項目的Textview字體,也可以單獨 設(shè)置某個Textview的字體,還在等什么,快來試試吧!
github ?https://github.com/chrisjenx/Calligraphy
作者:Christopher Jenkins
使用:
dependencies {implementation 'uk.co.chrisjenx:calligraphy:2.3.0' }
39.AndroidSlidingUpPanel
一句話介紹:可拖動的滑動面板視圖框架
上榜理由:如果你的項目需要一個可拖拽的滑動式面板(展示某些詳情信息,播放音樂,地圖信息等),那么推薦你使用它,6.3k個star,來自創(chuàng)業(yè)公司umano的作品,證明它是用心推出的杰作
github https://github.com/umano/AndroidSlidingUpPanel
作者:umano
使用:
dependencies {repositories {mavenCentral()}compile 'com.sothree.slidinguppanel:library:3.3.1' }
40.AppIntro
一句話介紹:一款提供快速制作歡迎頁的框架
上榜理由:筆者從未把打算把歡迎頁框架納入排行榜當(dāng)中,作為國內(nèi)開發(fā)者,ViewPager開發(fā)App的歡迎頁已經(jīng)是手到擒來的需求,為何一個開源的歡迎頁框架會在github上擁有6.3k個star?也許你會不屑一顧,是的,往往就在不屑一顧的瞬間,機(jī)遇就悄悄溜走了。
github https://github.com/apl-devs/AppIntro
作者:Paolo Rotolo
allprojects {repositories {...maven { url 'https://jitpack.io' }}}dependencies {implementation 'com.github.apl-devs:appintro:v4.2.0'}
41.recyclerview-animators
一句話介紹:一款為Recyclerview提供擴(kuò)展動畫能力的框架
上榜理由:有一句老話:如果有天你失去對新事物的興趣,那就說明你老了。recyclerview已經(jīng)推出快三年了,還在用listview的人們,是否已經(jīng)發(fā)掘自己漸漸變老;不要灰心,快為你的項目加入recyclerview-animators框架吧,為“自己”加入新鮮的血液和能量!(筆者備注:6.2K個star)
github ?https://github.com/wasabeef/recyclerview-animators
作者;https://github.com/wasabeef
使用:
dependencies {// jCenterimplementation 'jp.wasabeef:recyclerview-animators:2.2.6' }
42.dagger
一句話介紹:一款通過依賴注入降低程序間耦合的開發(fā)框架
上榜理由:github 上dagger1版本 有6.2k個star , dagger2版本有7.3k個;由square完成的dagger1版本,到如今google團(tuán)隊接手的dagger2版本,強(qiáng)力開發(fā)團(tuán)隊保證了代碼在設(shè)計上的優(yōu)越性;如果你想探究Android 領(lǐng)域的設(shè)計模式,這也是不錯的選擇。
官網(wǎng)地址:https://google.github.io/dagger/
github :https://github.com/google/dagger
作者:google
使用:
dependencies {implementation 'com.google.dagger:dagger:2.x'annotationProcessor 'com.google.dagger:dagger-compiler:2.x' }If you're using classes in dagger.android you'll also want to include: implementation 'com.google.dagger:dagger-android:2.x' implementation 'com.google.dagger:dagger-android-support:2.x' annotationProcessor 'com.google.dagger:dagger-android-processor:2.x'
43.Android-Bootstarp
一句話介紹:一款提供在Android應(yīng)用上實現(xiàn)Bootstrap(web框架)所作出效果的框架
上榜理由:榜單上第二款響應(yīng)web技術(shù)的Android 端框架,還記得第一名是誰嗎——flexbox-layout,作為Android開發(fā)者,你有必要去了解Web技術(shù)了。5.9k個star,證明它不容小覷
github https://github.com/Bearded-Hen/Android-Bootstrap
作者:Bearded-Hen團(tuán)隊
使用:
dependencies {implementation 'com.beardedhen:androidbootstrap:{X.X.X}' }
44.RxBinding
一句話介紹:一款提供UI組件事件響應(yīng)能力的框架
上榜理由:如果你還未開始RxAndroid 之旅,RxBinding可以作為你的第一站,通過RXBinding,你將理解響應(yīng)式編程的快樂,讓項目里的事件流程更清晰。5.6K個star,RxAndroid作者親自操刀,快來試用吧!
github ?https://github.com/JakeWharton/RxBinding
作者:JakeWharton
Platform bindings:
implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0''support-v4' library bindings: implementation 'com.jakewharton.rxbinding2:rxbinding-support-v4:2.0.0''appcompat-v7' library bindings: implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.0.0''design' library bindings: implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.0.0''recyclerview-v7' library bindings: implementation 'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:2.0.0''leanback-v17' library bindings: implementation 'com.jakewharton.rxbinding2:rxbinding-leanback-v17:2.0.0'
45.ListViewAnimations
一句話介紹:一款為ListView提供動展示畫效果能力的框架
上榜理由:如果有一天我承認(rèn)自己老了,我還會排排我的兄弟——ListView,證明我和它一起戰(zhàn)斗過。ListViewAnimations的存在就是證明我們這些“老年人”仍有用武之地,也許你有說不出口的難處,無法體會到RecyclerView里動畫的快樂,擁有ListViewAnimations,你一樣可以驕傲的說,我的孩子(每個item)也有自己的動效啦。(筆者備注 5.6K個star)
github ?https://github.com/nhaarman/ListViewAnimations
作者:nhaarman
使用:
repositories {mavenCentral() }dependencies {implementation 'com.nhaarman.listviewanimations:lib-core:3.1.0@aar'implementation 'com.nhaarman.listviewanimations:lib-manipulation:3.1.0@aar'implementation 'com.nhaarman.listviewanimations:lib-core-slh:3.1.0@aar' }
46.UItimateRecyclerView
一句話介紹:一款提供刷新、加載更多、動畫特效等額外能力的RecyclerView框架
上榜理由:榜單上第三次出現(xiàn)RecyclerView的身影,足以證明RecyclerView的優(yōu)異性,5.5K個star,框架里所提供眾多的能力,如果你是個功利開發(fā)者,那么此框架會為你節(jié)省很多學(xué)習(xí)時間,它可以完成多item式布局的大多數(shù)需求,值得注意的是,這個項目也是在其他項目的思路上二次開發(fā)的。
github ?https://github.com/cymcsg/UltimateRecyclerView
作者:MarshalChen
使用:
repositories { ? ?jcenter() ? ?}dependencies { ? ?... ? ?compile 'com.marshalchen.ultimaterecyclerview:library:0.7.2'}
47.uCrop
一句話介紹:一款優(yōu)雅的圖片裁剪框架
上榜理由:5.3K個star,圖片編輯模塊單獨拎出來也是一款優(yōu)雅的App。
github ?https://github.com/Yalantis/uCrop
作者:Yalantis
使用:
allprojects {repositories {jcenter()maven { url "https://jitpack.io" }} }implementation 'com.github.yalantis:ucrop:2.2.1'
48.RxJava-Android-Samples
一句話介紹:一款介紹RxJava使用場景的app
上榜理由:榜單出現(xiàn)的第一個“僅僅為告訴你如何使用另一個項目”的開源項目,它可以說是RxJava的用例,你想得到的想不到的RxJava用法這里都有,這就是為什么它以5.2k個star矗立在這份榜單里的原因。遺憾自己沒有創(chuàng)作這么一個受人追捧的demo?趕快動手寫個其他的“XX項目用例吧”
github ?https://github.com/kaushikgopal/RxJava-Android-Samples
作者:kaushikgopal
使用:
clone到本地慢慢探索吧
?
49.AndroidAutoLayout
一句話介紹:一個提供適配能力的框架
上榜理由:5.2K個star,鴻洋老弟的作品,適合小項目的開發(fā)團(tuán)隊,拿到設(shè)計MM的px像素設(shè)計稿是不是很頭疼捏?這個框架一鍵式搞定你的問題,它有很多的不足,但在追求完美適配的路上,你值得探索和了解它!筆者并不推薦把它應(yīng)用到已經(jīng)成熟運行的項目中,畢竟市面上已經(jīng)有太多的適配解決方案了,適配問題就像是個大雜燴,想炒一盤好菜,就得備好各種佐料(適配小方案),當(dāng)你把各種小佐料用的爐火純青的時候,你離美食大廚就不遠(yuǎn)了。
github https://github.com/hongyangAndroid/AndroidAutoLayout
作者:張鴻洋
使用:
dependencies {implementation 'com.zhy:autolayout:1.4.5' }
50.EffectiveAndroidUI
一句話介紹:一款講解高效展示UI的教學(xué)型App
上榜理由:編程新手很難對MVC MVP,MVVM等模式有深刻的理解,如果有一個示例型app,那對初學(xué)者會有很大裨益,筆者在遇到它時也是相見恨晚。4.8K個star,證明了它經(jīng)受了廣大開發(fā)者的考驗與審視,其中Effective UI的編程思想更是與Android官方課程里的Effective UI課程不謀而合,并且,此項目還包含了fragment、dagger、主題樣式、Butterknife等眾多小知識點,作為編程初學(xué)者的學(xué)習(xí)用例再適合不過了
github ?https://github.com/pedrovgs/EffectiveAndroidUI
作者:Pedro Vicente
使用:
clone項目到本地
?
51.Luban
一句話介紹:最接近微信的圖片壓縮框架
上榜理由:好的思路總是可以讓你大放異彩,Luban僅以圖片壓縮單一功能,俘獲了4.8K個star,證明了它在圖片壓縮上的造詣,它可能不是最優(yōu)秀的,但它是讓你我最接近偉大的項目
github ?https://github.com/Curzibn/Luban
作者:Curzibn
使用:
implementation 'top.zibin:Luban:1.1.1'
52.DroidPlugin
一句話介紹:一款熱門的插件化開發(fā)框架
上榜理由:4.8K個star,插件化框架榜單第一名,,360團(tuán)隊出品,框架質(zhì)量有保證,有成功案例——360手機(jī)助手,并且持續(xù)維護(hù)著
github https://github.com/DroidPluginTeam/DroidPlugin/blob/master/readme_cn.md
作者:Andy Zhang
使用:
clone項目到本地
?
53.otto
一句話介紹:一款老舊且強(qiáng)大的事件總線框架
上榜理由:4.8K個star,是square團(tuán)隊早先推出的事件響應(yīng)型框架,淘寶app的事件驅(qū)動也是基于此框架封裝的,如今square已經(jīng)建議開發(fā)者采用RxJava RxAndroid來代替otto了。但otto仍有與EventBus橫向?qū)Ρ鹊膬r值,縱向來說,otto與square自家開發(fā)的Rx系列框架的差異同樣值得開發(fā)者們?nèi)ヌ骄俊?br /> github https://github.com/square/otto
作者:square
使用:
54.u2020
一句話介紹:一款提供Dagger的高級教學(xué)示例的app(額,名字是有點繞)
上榜理由:4.7K個star,JakeWharton牽頭開發(fā)的教學(xué)類app,教你使用Dagger在其他高級框架的用法,它展示了Dagger與ButterKnife、Retrofit、Moshi、Picasso、Okhttp、RxJava、Timber、Madge、LeakCanar等眾多優(yōu)秀框架結(jié)合起來的高級用法,你也可以借鑒到自己的項目當(dāng)中
github ?https://github.com/JakeWharton/u2020
作者:JakeWharton
?
55.buck
一句話介紹:buck是一個快速構(gòu)建系統(tǒng)
上榜理由:facebook+google出身的作者,對構(gòu)建代碼的出色理解,加上大型團(tuán)隊的維護(hù),以及增量更新時的快速高效,讓buck成為了微信Android團(tuán)隊構(gòu)建項目的首選,構(gòu)建大型項目時,它比gradle更快,然而中小公司并不適合此框架,但作為立志在框架設(shè)計領(lǐng)域有一番作為的人們,歡迎來一探究竟
官網(wǎng)地址:https://buckbuild.com/
github ?https://github.com/facebook/buck
作者:facebook
使用:
linux or mac system ?+docs
?
56.PermissionsDispatcher
一句話介紹:一款基于注解的提供解決運行時危險權(quán)限方案的框架
上榜理由:自Android6.0 Google提出危險權(quán)限一詞起,用戶安全性被提到一定的高度,一些運行時對用戶較為危險的權(quán)限將不再自動被開發(fā)者獲取,需要經(jīng)過用戶批準(zhǔn),開發(fā)者才可以繼續(xù)使用該權(quán)限,如果你曾經(jīng)被權(quán)限問題搞的抓耳撓腮,建議你試試這個框架,它足夠解決你的問題
官網(wǎng)地址:https://hotchemi.github.io/PermissionsDispatcher/
github https://github.com/hotchemi/PermissionsDispatcher
作者:Shintaro Katafuchi
使用:
57.android-gif-drawable
一句話介紹:一款提供展示GIF動畫能力的視圖框架
上榜理由:據(jù)我所查國內(nèi)著名App——知乎使用了android-gif-drawable,因此證明了它的存在價值,盡管在榜單第十一位介紹了lottie-android直接應(yīng)用AE動畫的示例,但AE設(shè)計師不是每個公司都配備的,GIF的存在,就必然存在了展示GIF的需要,它值得你擁有!
github https://github.com/koral--/android-gif-drawable
作者:Karol Wrótniak
使用:
repositories {mavenCentral()maven { url "https://oss.sonatype.org/content/repositories/snapshots"}}dependencies {implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.+' }
58.Apktool
一句話介紹:一款反編譯apk的工具
上榜理由:開源的反編譯工具,對于志在了解apk逆向破解的諸位,值得擁有,4.5k個star,逆向破解apk神器!
github ?https://github.com/iBotPeaches/Apktool
官網(wǎng)地址:https://ibotpeaches.github.io/Apktool/
作者:Connor Tumbleson
?
59.dynamic-load-apk
一句話介紹:插件化開發(fā)框架
上榜理由:4.5k個star,位于插件化開發(fā)框架第二名(第一名來自360團(tuán)隊),全面的文檔介紹讓你很快就能上手插件化開發(fā),如果你喜歡大段文字講解,那么這個項目一定適合你
github:https://github.com/singwhatiwanna/dynamic-load-apk
作者:singwhatiwanna
使用:
github上的文檔配合作者博客更配喲
?
60.atlas
一句話介紹:淘寶推出的組件化開發(fā)框架
上榜理由:淘寶團(tuán)隊所出的精品,atlas框架提供了解耦、組件、動態(tài)的開發(fā)能力,4.5k個star讓他位列組件化開發(fā)框架第一名
github https://github.com/alibaba/atlas
作者:alibaba
總結(jié)
以上是生活随笔為你收集整理的2019年 Android 开源框架 排行榜 TOP 60的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何使用 QEMU 中的虚拟串口
- 下一篇: 基本的ubunutu命令以及代码环境配置