2017年Android百大框架排行榜

楊超凡發表於2017-06-19

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


現在已經是2017年了,所以我寫了一份《2017百大框架權威排行榜》,適合各個水平的開發工程師

>本文已經開源到Github上,歡迎各位共同編輯、參與到榜單的建設中來

>Github 地址

原文連結: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-dialogsUI
17.droid-async-http網路
18.androidannotations註解
19.fastjsonjson
20.Material-Animations動畫
21.tinker熱修復
22.ViewPagerIndicatorUI
23.Android-CleanArchitecture架構
24.Android-PullToRefresh重新整理
25.flexbox-layoutUI
26.AndroidSwipeLayoutUI
27.realm-java資料庫
28.greenDAO資料
29.stetho除錯
30.BaseRecyclerViewAdapterHelperUI
31.AndroidViewAnimations動畫
32.MaterialDrawer選單
33.Android-ObservableScrollViewUI
34.CircleImageView圖片
35.logger除錯
36.agera非同步
37.BottmBar選單
38.Calligraphy字型
39.AndroidSlidingUpPanelUI
40.AppIntroUI
41.recyclerview-animators動畫
42.dagger依賴注入
43.Android-BootstarpUI
44.RxBinding響應式
45.ListViewAnimations動畫
46.UItimateRecyclerViewUI
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-drawableGIF
58.Apktool反編譯
59.dynamic-load-apk外掛化
60.atlas外掛化
61.volley網路
62.androidmvp用例
63.SwipeBackLayout手勢
64.FlycoTabLayoutUI
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.mosbyMVP
79.AndResGuard    混淆
80.StatusBarUtil狀態列
81.robolectric測試
82.Fragmentation巢狀
83.Small外掛化
84.JsBridgehybrid
85.richeditor-androidUI
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子標題榜首,第一當之無愧。

官網地址 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專注網路請求的安全高效,筆者將兩者區分開,是想讓後來學習者知道,這是兩套框架,學習框架原理時可以分開學習,以免理解混亂。

官網地址 square.github.io/okhttp/

github github.com/square/okht…

作者:square團隊

使用:

compile 'com.squareup.okhttp3:okhttp:3.8.0'複製程式碼

3.Butter Knife

一句話介紹:Butter Knife所提供了一種能力——使用註解生成模板程式碼,將view與方法和引數繫結。

上榜理由:github上16.5K個star,配合Androidstudio提供的Butter Knife外掛,幫助開發者省卻了頻繁findviewbyid的煩惱,最新的Butter Knife還提供了onclick繫結以及字串的初始化,初學者可以查閱Butter Knife以及Butter Knife外掛進一步學習!

官網地址:jakewharton.github.io/butterknife…

github:github.com/JakeWharton…

作者:JakeWharton ,也是square團隊成員之一

使用:

dependencies {   compile 'com.jakewharton:butterknife:8.6.0'   annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0' }複製程式碼

4.MPAndroidChart

一句話介紹:MPAndroidChart是一款圖表框架

上榜理由:github上16.1K個star,以快速、簡潔。強大著稱的圖表框架

官網地址 github.com/PhilJay/MPA…

github https://github.com/PhilJay/MPAndroidChart

作者:PhilJay

使用:

1. 在AS中加入Gradle依賴

  • 在根目錄的 build.gradle上加入:
  • allprojects {     repositories {         maven { url "https://jitpack.io" }     } }複製程式碼
  • 在app的build.gradle上加入:
  • dependencies {     compile 'com.github.PhilJay:MPAndroidChart:v3.0.2' }複製程式碼

 

5. glide

一句話介紹:glide是一款專注於提供流暢划動能力的“圖片載入和快取框架”

上榜理由:15.9k個star,圖片載入類框架排名第一的框架,google 在2014開發者大會上演示的camera app就是基於gilde框架開發的

github github.com/bumptech/gl…

作者 Bump Technologies團隊

使用:

repositories {   mavenCentral() }  dependencies {     compile 'com.github.bumptech.glide:glide:3.8.0'     compile 'com.android.support:support-v4:19.1.0' }複製程式碼
複製程式碼

6.leakcanary

一句話介紹:一款記憶體檢測框架,服務於java和android客戶端

上榜理由:方便,簡潔是leakcanary最大的特點,只需在應用的apllication中整合,就可以直接使用它;15.5k個star說明了它有多麼受歡迎

github https://github.com/square/leakcanary

作者 square團隊

使用:

 dependencies {    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1'    releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'    testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'  }複製程式碼

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

一句話介紹:曾經的圖片載入框架王者,android開發老手都用過它

上榜理由:android端圖片載入框架的老大哥了,15.3k個star足以證明它的熱門,UIL與gilde最大區別是可定製,UIL提供了大量配置方式,圖片載入狀態的回撥(成功,失敗,進行中),載入動畫等;以及提供了移動端圖片載入框架的快取思路:三級快取策略 sd卡-記憶體-網路;值得注意的是,UIL以及兩年未更新了,但筆者仍推薦各位使用!

github github.com/nostra13/An…

作者 nostra13

使用:

下載地址 universal-image-loader-1.9.5.jar

8.EventBus

一句話介紹:EventBus是一款本地元件間通訊框架

上榜理由:元件間通訊框架star量第一:14.8k,在大型專案的Activities,fragments,Threads,Services都可以看到它的使用場景,儘管EventBus在向未建立的元件傳遞事件時有些侷限,僅適合在“活著的”元件間傳遞訊息,但仍不妨礙它活躍在各個大型專案各個場景裡。

官網地址 greenrobot.org/eventbus/do…

github github.com/greenrobot/…

作者 greenrobot

使用:

compile 'org.greenrobot:eventbus:3.0.0'複製程式碼

9.zxing

一句話介紹:條碼影像處理庫

上榜理由:如果你用過二維碼,你肯定已經間接使用過大名鼎鼎的zxing了。13.9K的star量,讓它排在本榜單第九,實至名歸,如果你有了解二維碼的需求,不妨從瞭解、修改它原始碼入手。

github https://github.com/zxing/zxing

作者 Sean Owen

10.picasso

一句話介紹:強力的圖片下載、快取框架

上榜理由:本榜單出現的第三款圖片類框架,不同的是picasso更強調圖片下載,你可以將picasso整合進你的專案中,你也可以結合gilde和UIL與picasso,三者一齊封裝至你的專案中,按需所用。

官網地址 square.github.io/picasso/

github github.com/square/pica…

作者 square團隊

使用:

compile 'com.squareup.picasso:picasso:2.5.2'複製程式碼

或者下載

jar包

11.lottie-android

一句話介紹:一款可以在Android端快速展示Adobe Afeter Effect(AE)工具所作動畫的框架

上榜理由:動畫類框架第一名,github上13.3k個star證明了他的優越性,利用json檔案快速實現動畫效果是它最大的便利,而這個json檔案也是由Adobe提供的After Effects(AE)工具製作的,在AE中裝一個Bodymovin的外掛,使用這個外掛最終將動畫效果生成json檔案,這個json檔案即可由LottieAnimationView解析並生成絢麗的動畫效果。而且它還支援跨平臺喲。

github github.com/airbnb/lott…

作者:Airbnb 團隊

12.fresco

一句話介紹:一款可以管理圖片記憶體的框架

上榜理由:github上12.8k個star,圖片類排行榜第四名,facebook的出身證明了它並非是重複造的輪子,在管理圖片記憶體領域上有著它的一片天地,漸進式載入、載入gif都是它與前三位相比獨有的特性

官網地址: www.fresco-cn.org/

github github.com/facebook/fr…

作者 facebook

使用:

dependencies {   // 其他依賴   compile 'com.facebook.fresco:fresco:0.12.0' }複製程式碼

下面的依賴需要根據需求新增:

dependencies {   // 在 API < 14 上的機器支援 WebP 時,需要新增   compile 'com.facebook.fresco:animated-base-support:0.12.0'    // 支援 GIF 動圖,需要新增   compile 'com.facebook.fresco:animated-gif:0.12.0'    // 支援 WebP (靜態圖+動圖),需要新增   compile 'com.facebook.fresco:animated-webp:0.12.0'   compile 'com.facebook.fresco:webpsupport:0.12.0'    // 僅支援 WebP 靜態圖,需要新增   compile 'com.facebook.fresco:webpsupport:0.12.0' }複製程式碼

13.RxAndroid

一句話介紹:一款Android客戶端元件間非同步通訊的框架

上榜理由:github上12.7k個star,位居元件通訊框架的第二名,僅在EventBus之後,如果要問兩者的區別,Eventbus是用來取代元件間繁瑣的interface,RxAndroid是用來取代AnsyTask的,並不衝突;當然RxAndroid的優點並不僅限於此,更多優雅的實現,可以去官網查閱!

github github.com/ReactiveX/R…

作者 JakeWharton

使用:

compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'io.reactivex.rxjava2:rxjava:2.1.0'複製程式碼

14.SlidingMenu

一句話介紹:側滑選單欄框架

上榜理由:與Userval-Image-loader 齊名的上古神器框架——為你的app提供側滑選單欄的功能;github閃更有10.5k個star,證明了它的經久不衰,即使在Google推出了NavigationDrawer,仍然沒有減少開發者對SildingMenu的擁簇,經典總是經得起考驗的,這個上古神獸已經四年沒有更新了;有太多太多的app使用過它,這些都可以在軟體的開源許可上看到!

github github.com/jfeinstein1…

作者 Jeremy Feinstein

使用:

在gihub上fork原始碼,整合進專案中

15.PhotoView

一句話介紹:一款ImageView展示框架,支援縮放,響應手勢

上榜理由:10.3k的star數量,位於圖片類框架排行榜第五位,PhotoView與前四位不同的是這次帶來的是圖片的展示能力,你一定好奇微信的頭像點選放大是如何實現的,很多App的圖片顯示響應手勢按壓是如何實現的,瞭解PhotoView,你一定會開心的!(筆者也不會告訴你ImageView的點選放大效果在Android的sample也有)

github github.com/chrisbanes/…

作者:chrisbanes

使用:

在app根目錄的build.gradle中加入: allprojects {     repositories {         maven { url "https://jitpack.io" }     } } 在app的module目錄的build.gralde中加入:  dependencies {     compile 'com.github.chrisbanes:PhotoView:latest.release.here' }複製程式碼

使用

複製程式碼
<com.github.chrisbanes.photoview.PhotoView     android: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 github.com/afollestad/…

作者:Aidan Follestad

使用:

dependencies {     // ... other dependencies here     compile 'com.afollestad.material-dialogs:core:0.9.4.5'
}複製程式碼

17.droid-async-http

一句話介紹:一款基於Http協議的非同步請求的網路框架,

上榜理由:雖然你有無數個使用retrofit+okhttp的理由,但9.8k個star,證明它仍然值得你深入學習。值得注意的是,它也已經有兩年沒更新了,你儘管拿去當你懶惰的理由!

github github.com/loopj/andro…

作者:James Smith

使用:

repositories {   maven {     url 'https://oss.sonatype.org/content/repositories/snapshots/'   } } dependencies {   compile 'com.loopj.android:android-async-http:1.5.0-SNAPSHOT' }複製程式碼

18.androidannotations

一句話介紹:一款基於註解的快速開發框架

上榜理由:與Butterknife一樣基於註解,利用註解快速完成view的初始化,不同的是androidannotations提供了更多的能力:簡單的執行緒模型等;筆者只接觸過Butterknife,無法更進一步敘述androidannotations的優勢,如果你志在深入瞭解註解的妙用,可以嘗試探索一下!

官網地址 androidannotations.org/

github github.com/androidanno…

作者: WonderCsabo

19.fastjson

一句話介紹:一款基於json解析、生成的框架

上榜理由:從它的名字不難看出,快速是它最大的特性,阿里巴巴的出身保證了程式碼的質量和優越,9.4k的star數量,也是榜單裡第一個出現的中國開源框架,涉及網路的app都會用到json,fastjson值得作為你的首選!

github github.com/alibaba/fas…

作者:alibaba

使用:

compile 'com.alibaba:fastjson:1.1.58.android'複製程式碼

20.Material-Animations

一句話介紹:一款提供場景轉換過渡能力的動畫框架

上榜理由:Android動畫框架排行榜第二名,9.3k個star數量,與動畫框架榜單第一名lottie-android不同的是,Material-Animations提供的是場景切換的動畫效果。Android 官網sample中已經提供了部分Transition (轉場動畫)的展示,作為初學者很難快速擴充到自己專案中,Material-Animations的示例出現為開發者省去了此類麻煩,直接照搬應用到自己的App中吧。

github github.com/lgvalle/Mat…

作者:Luis G. Valle

使用:

down原始碼,修改學習

21.tinker

一句話介紹:它是微信官網的Android熱補丁解決方案

上榜理由:9.1k個star,微信在用的熱補丁方案,心動不如行動

官網地址 www.tinkerpatch.com/Docs/intro

github github.com/Tencent/tin…

作者:Tencent

22.ViewPagerIndicator

一句話介紹:一款基於ViewPager的頁面指示器開源框架

上榜理由:上古神器,儘管已經五年未更新了,但你仍然可以在淘寶等app中看到它的使用場景,8.9K的star量讓它不慍不火的在矗立在榜單裡

官網地址 viewpagerindicator.com/

github github.com/JakeWharton…

作者:JakeWharton

使用:

下載 地址 https://github.com/JakeWharton/Android-ViewPagerIndicator/zipball/master

23.Android-CleanArchitecture

一句話介紹:一個講解設計框架的demo

上榜理由:它不是框架,你可以把它當作一本書,它將教會你如何設計簡潔的架構,工程裡有一個sample app,配合圖文講解,你將對Android客戶端的架構有更深一層的認識。8.8k的star數量,證明了它是一本“好書”喲。

github github.com/android10/A…

作者:Fernando Cejas

24..Android-PullToRefresh

一句話介紹:一款為普通檢視提供重新整理UI的檢視框架

上榜理由:8.2K的star數量使它位居重新整理類UI框架榜首,強大的相容能力,該框架支援ListView,GrdiView,WebViewScrollView,ViewPager等眾多View增加重新整理的能力,如果你有增加上拉載入,下拉載入的需求,你應該考慮它了!

github github.com/chrisbanes/…

作者:Chris Banes

使用:

github fork原始碼,整合到專案中

25.flexbox-layout

一句話介紹:一款彈性伸縮佈局

上榜理由:8.1k個star,前端H5開發者轉Android開發的福音,FlexboxLayout作為LinearLayoutRelativeLayout的替代者,值得各位一試,與其一同推出的還有ConstraintLayout。

github github.com/google/flex…

作者:Google

使用:

dependencies {     compile 'com.google.android:flexbox:0.3.0-alpha3' }複製程式碼

26.AndroidSwipeLayout

一句話介紹:非常強大滑動式佈局

上榜理由:滑動刪除是國產app常見需求,商品詳情的上下滑動需求作為開發者的我們也經常遇到,AndroidSwipeLayout在github上擁有8K個star,證明它經受住了檢驗,各位值得一試

github github.com/daimajia/An…

作者:daimajia

使用:

dependencies {     compile 'com.android.support:recyclerview-v7:21.0.0'     compile 'com.android.support:support-v4:20.+'     compile "com.daimajia.swipelayout:library:1.2.0@aar" }複製程式碼

或下載

AndroidSwipeLayout-v1.1.8.jar

27.realm-java

一句話介紹:Realm是一款移動端資料庫框架

上榜理由:核心資料引擎C++打造,比普通的Sqlite型資料庫快的多。筆者猜測正是如此,realm以7892個star數讓它位於大名鼎鼎的資料庫框架GreenDao(7877)之前

官網地址:realm.io/cn/

github github.com/realm/realm…

作者:Realm團隊

使用:realm.io/docs/java/l…

28.greenDAO

一句話介紹:greenDAO是一款高效、快速的SQLite型資料庫

上榜理由:greenDAO的star數量與Realm不相上下,且與EventBus師出同門,也是由greenrobot團隊開發維護的,質量有所保證,但若拷問筆者Realm與greenDao兩者的優劣性,只能具體到實際使用當中,模擬線上的使用情形,進行高強度測試後才能下判斷,故在此不能一言兩語說完,深表遺憾

官網地址:greenrobot.org/greendao/

github github.com/greenrobot/…

使用:

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 plugin   dependencies {     compile 'org.greenrobot:greendao:3.2.2' // add library }複製程式碼

29.stetho

一句話介紹:一款提供在Chrome開發者工具上除錯Android app能力的開源框架

上榜理由:上古時期Android程式設計師要除錯本地資料庫,需要進入Android Device Monitor找到/data/data/com.xxx.xxx/databases裡面的db檔案,匯出到PC端,用PC的資料工具檢視,現在使用stetho省卻瞭如此的麻煩;如今的Android程式設計師如果想除錯網路請求響應過程中的報文段,需要在請求中加入Log語句,一個資訊一個資訊列印出來,相當繁瑣,現在請使用stetho,省卻諸如此類的麻煩把!7.8K個star數,廣大Android開發者除錯的福音,你值得擁有!

作者:FaceBook

官網地址: http://facebook.github.io/stetho/

github github.com/facebook/st…

使用:

compile 'com.facebook.stetho:stetho:1.5.0'複製程式碼

30.BaseRecyclerViewAdapterHelper

一句話介紹:強大、流暢的Recyvlerview通用介面卡

上榜理由:如果你是RecyclerView的擁簇者,你一定要體驗這款專門服務該view的介面卡,7.7K個star,讓這個傢伙位於github上Android 介面卡排行榜第一,還有很多驚喜等你去探尋!

官網地址:www.recyclerview.org/

作者:陳宇明以及他的小夥伴

使用:

allprojects {     repositories {         ...         maven { url "https://jitpack.io" }     } }   dependencies {         compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:VERSION_CODE' }複製程式碼

31.AndroidViewAnimations

一句話介紹:一款提供可愛動畫集合的框架

上榜理由:正如作者所說,它囊括了開發需求過程中所有的動畫效果,整合進了這個簡潔可愛的動畫框架。7.6K的star數,證明了它在動畫框架領域的戰鬥力,讓它僅僅位列lottie-android和Material-Animations兩個動畫框架霸主之後,屈居第三名

github github.com/daimajia/An…

作者: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

一句話介紹:強大的塑料風格的抽屜框架

上榜理由:7.6K的star數量,作者的持續更新狀態,如果你還在猶豫上手SlidingMenu遇到bug沒人管的困境,那麼你可以入手它作為你的抽屜佈局

github https://github.com/mikepenz/MaterialDrawer

作者:Mike Penz

使用:

compile('com.mikepenz:materialdrawer:5.9.2@aar') {     transitive = true }複製程式碼

new DrawerBuilder().withActivity(this).build();複製程式碼

33.Android-ObservableScrollView

一句話介紹:一款讓檢視滑動更具有視覺效果的滑動式框架

上榜理由:7.5K的star數量,證明了它曾經的價值,github上提供了12種滑動效果,你可以用它彌補其他框架的不足,提升你的App體驗!

github github.com/ksoichiro/A…

作者:Soichiro Kashima

使用:

compile com.github.ksoichiro:android-observablescrollview複製程式碼

34.CircleImageView

一句話介紹:圓角ImageView

上榜理由:也許你已經聽說過無數種展示圓角圖片的方法,但如果你不嘗試嘗試CircleImageView,那麼你的知識庫會因為少了它黯然失色,有的時候完成需求是開發者優先考慮的,不同實現方法牽扯到的效能差異更值得讓人深思,如果你有心在圖片效能上有所涉獵,那麼CircleImageView絕對不會讓你敗興而歸。最後別忘了記得去看Romain Guy的建議喲。

github github.com/hdodenhof/C…

作者:Henning Dodenhof

使用:

dependencies {     ...     compile 'de.hdodenhof:circleimageview:2.1.0' }複製程式碼

<de.hdodenhof.circleimageview.CircleImageView     xmlns: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日誌優雅顯示的框架

上榜理由:logger作為除錯框架,並未給出很強大的能力,它最大的亮點是優雅的輸出log資訊,並且支援多種格式:執行緒、Json、Xml、List、Map等,如果你整日沉迷於汪洋大海般的log資訊不能自拔,logger就是你的指路明燈!6.6k個star讓他位列除錯框架第二名,屈居facebook的stetho之後

github github.com/orhanobut/l…

作者:Orhan Obut

使用:

compile '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

一句話介紹:一款服務於Android平臺的響應式程式設計框架

上榜理由:google專門推出一套響應式程式設計框架服務於Android開發者,相比於之響應式程式設計框架榜首的 RxJava RxAndroid,它更輕量,兩者最大的不同點在於agera基於push event、pull data (VS Rx系列 push data)。

github github.com/google/ager…

作者:Google

使用:

  compile 'com.google.android.agera:agera:1.3.0'複製程式碼

擴充套件能力

  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

一句話介紹:一款底部導航欄檢視框架

上榜理由:底部欄裡的王者框架,6.3K的star數量,證明了它的優秀,完全遵循材料設計規範,上手非常方便。如果說缺點,無法設定icon與titile的間距,無法自定義檢視的大小等,但這些都可以通過修改原始碼解決,筆者獻醜也修改了一套符合國內開發者的底部導航框架,即將開源。

github github.com/roughike/Bo…

作者:Iiro Krankka

使用:

compile 'com.roughike:bottom-bar:2.3.1'複製程式碼

38.Calligraphy

一句話介紹:一款自定義字型框架

上榜理由:如果你還在為一鍵修改App內所有字型樣式而煩惱,6.3K個star的Calligraphy就值得你擁有,它可以同時修改整個整個專案的Textview字型,也可以單獨 設定某個Textview的字型,還在等什麼,快來試試吧!

github github.com/chrisjenx/C…

作者:Christopher Jenkins

使用:

dependencies {     compile 'uk.co.chrisjenx:calligraphy:2.3.0' }複製程式碼

39.AndroidSlidingUpPanel

一句話介紹:可拖動的滑動皮膚檢視框架

上榜理由:如果你的專案需要一個可拖拽的滑動式皮膚(展示某些詳情資訊,播放音樂,地圖資訊等),那麼推薦你使用它,6.3k個star,來自創業公司umano的作品,證明它是用心推出的傑作

github github.com/umano/Andro…

作者:umano

使用:

dependencies {     repositories {         mavenCentral()     }
     compile 'com.sothree.slidinguppanel:library:3.3.1' }複製程式碼

40.AppIntro

一句話介紹:一款提供快速製作歡迎頁的框架

上榜理由:筆者從未把打算把歡迎頁框架納入排行榜當中,作為國內開發者,ViewPager開發App的歡迎頁已經是手到擒來的需求,為何一個開源的歡迎頁框架會在github上擁有6.3k個star?也許你會不屑一顧,是的,往往就在不屑一顧的瞬間,機遇就悄悄溜走了。

github github.com/apl-devs/Ap…

作者:Paolo Rotolo

    allprojects {         repositories {             ...             maven { url 'https://jitpack.io' }         }     }      dependencies {             compile 'com.github.apl-devs:appintro:v4.2.0'     }複製程式碼

41.recyclerview-animators

一句話介紹:一款為Recyclerview提供擴充套件動畫能力的框架

上榜理由:有一句老話:如果有天你失去對新事物的興趣,那就說明你老了。recyclerview已經推出快三年了,還在用listview的人們,是否已經發掘自己漸漸變老;不要灰心,快為你的專案加入recyclerview-animators框架吧,為“自己”加入新鮮的血液和能量!(筆者備註:6.2K個star)

github github.com/wasabeef/re…

作者;github.com/wasabeef

使用:

dependencies {   // jCenter   compile 'jp.wasabeef:recyclerview-animators:2.2.6' }複製程式碼

42.dagger

一句話介紹:一款通過依賴注入降低程式間耦合的開發框架

上榜理由:github 上dagger1版本 有6.2k個star , dagger2版本有7.3k個;由square完成的dagger1版本,到如今google團隊接手的dagger2版本,強力開發團隊保證了程式碼在設計上的優越性;如果你想探究Android 領域的設計模式,這也是不錯的選擇。

官網地址:google.github.io/dagger/

github :github.com/google/dagg…

作者:google

使用:

dependencies {   compile '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:  compile 'com.google.dagger:dagger-android:2.x' compile 'com.google.dagger:dagger-android-support:2.x'  annotationProcessor 'com.google.dagger:dagger-android-processor:2.x'複製程式碼

43.Android-Bootstarp

一句話介紹:一款提供在Android應用上實現Bootstrap(web框架)所作出效果的框架

上榜理由:榜單上第二款響應web技術的Android 端框架,還記得第一名是誰嗎——flexbox-layout,作為Android開發者,你有必要去了解Web技術了。5.9k個star,證明它不容小覷

github github.com/Bearded-Hen…

作者:Bearded-Hen團隊

使用:

dependencies {    compile 'com.beardedhen:androidbootstrap:{X.X.X}' }複製程式碼

44.RxBinding

一句話介紹:一款提供UI元件事件響應能力的框架

上榜理由:如果你還未開始RxAndroid 之旅,RxBinding可以作為你的第一站,通過RXBinding,你將理解響應式程式設計的快樂,讓專案裡的事件流程更清晰。5.6K個star,RxAndroid作者親自操刀,快來試用吧!

github github.com/JakeWharton…

作者:JakeWharton

Platform bindings:  compile 'com.jakewharton.rxbinding2:rxbinding:2.0.0' 'support-v4' library bindings:  compile 'com.jakewharton.rxbinding2:rxbinding-support-v4:2.0.0' 'appcompat-v7' library bindings:  compile 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.0.0' 'design' library bindings:  compile 'com.jakewharton.rxbinding2:rxbinding-design:2.0.0' 'recyclerview-v7' library bindings:  compile 'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:2.0.0' 'leanback-v17' library bindings:  compile 'com.jakewharton.rxbinding2:rxbinding-leanback-v17:2.0.0'複製程式碼

45.ListViewAnimations

一句話介紹:一款為ListView提供動展示畫效果能力的框架

上榜理由:如果有一天我承認自己老了,我還會排排我的兄弟——ListView,證明我和它一起戰鬥過。ListViewAnimations的存在就是證明我們這些“老年人”仍有用武之地,也許你有說不出口的難處,無法體會到RecyclerView裡動畫的快樂,擁有ListViewAnimations,你一樣可以驕傲的說,我的孩子(每個item)也有自己的動效啦。(筆者備註 5.6K個star)

github github.com/nhaarman/Li…

作者:nhaarman

使用:

repositories {     mavenCentral() }  dependencies {     compile 'com.nhaarman.listviewanimations:lib-core:3.1.0@aar'     compile 'com.nhaarman.listviewanimations:lib-manipulation:3.1.0@aar'     compile 'com.nhaarman.listviewanimations:lib-core-slh:3.1.0@aar' }複製程式碼

46.UItimateRecyclerView

一句話介紹:一款提供重新整理、載入更多、動畫特效等額外能力的RecyclerView框架

上榜理由:榜單上第三次出現RecyclerView的身影,足以證明RecyclerView的優異性,5.5K個star,框架裡所提供眾多的能力,如果你是個功利開發者,那麼此框架會為你節省很多學習時間,它可以完成多item式佈局的大多數需求,值得注意的是,這個專案也是在其他專案的思路上二次開發的。

github github.com/cymcsg/Ulti…

作者:MarshalChen

使用:

repositories {     jcenter()     } dependencies {     ...     compile 'com.marshalchen.ultimaterecyclerview:library:0.7.2' }複製程式碼

47.uCrop

一句話介紹:一款優雅的圖片裁剪框架

上榜理由:5.3K個star,圖片編輯模組單獨拎出來也是一款優雅的App。

github github.com/Yalantis/uC…

作者:Yalantis

使用:

allprojects {    repositories {       jcenter()       maven { url "https://jitpack.io" }    } }
 compile 'com.github.yalantis:ucrop:2.2.1' 複製程式碼

48.RxJava-Android-Samples

一句話介紹:一款介紹RxJava使用場景的app

上榜理由:榜單出現的第一個“僅僅為告訴你如何使用另一個專案”的開源專案,它可以說是RxJava的用例,你想得到的想不到的RxJava用法這裡都有,這就是為什麼它以5.2k個star矗立在這份榜單裡的原因。遺憾自己沒有創作這麼一個受人追捧的demo?趕快動手寫個其他的“XX專案用例吧”

github github.com/kaushikgopa…

作者:kaushikgopal

使用:

clone到本地慢慢探索吧

49.AndroidAutoLayout

一句話介紹:一個提供適配能力的框架

上榜理由:5.2K個star,鴻洋老弟的作品,適合小專案的開發團隊,拿到設計MM的px畫素設計稿是不是很頭疼捏?這個框架一鍵式搞定你的問題,它有很多的不足,但在追求完美適配的路上,你值得探索和了解它!筆者並不推薦把它應用到已經成熟執行的專案中,畢竟市面上已經有太多的適配解決方案了,適配問題就像是個大雜燴,想炒一盤好菜,就得備好各種佐料(適配小方案),當你把各種小佐料用的爐火純青的時候,你離美食大廚就不遠了。

github github.com/hongyangAnd…

作者:張鴻洋

使用:

dependencies {     compile 'com.zhy:autolayout:1.4.5' }複製程式碼

50.EffectiveAndroidUI

一句話介紹:一款講解高效展示UI的教學型App

上榜理由:程式設計新手很難對MVC MVP,MVVM等模式有深刻的理解,如果有一個示例型app,那對初學者會有很大裨益,筆者在遇到它時也是相見恨晚。4.8K個star,證明了它經受了廣大開發者的考驗與審視,其中Effective UI的程式設計思想更是與Android官方課程裡的Effective UI課程不謀而合,並且,此專案還包含了fragment、dagger、主題樣式、Butterknife等眾多小知識點,作為程式設計初學者的學習用例再適合不過了

github github.com/pedrovgs/Ef…

作者:Pedro Vicente

使用:

clone專案到本地

51.Luban

一句話介紹:最接近微信的圖片壓縮框架

上榜理由:好的思路總是可以讓你大放異彩,Luban僅以圖片壓縮單一功能,俘獲了4.8K個star,證明了它在圖片壓縮上的造詣,它可能不是最優秀的,但它是讓你我最接近偉大的專案

github github.com/Curzibn/Lub…

作者:Curzibn

使用:

compile 'top.zibin:Luban:1.1.1'複製程式碼

52.DroidPlugin

一句話介紹:一款熱門的外掛化開發框架
上榜理由:4.8K個star,外掛化框架榜單第一名,,360團隊出品,框架質量有保證,有成功案例——360手機助手,並且持續維護著
作者:Andy Zhang
使用:
clone專案到本地

53. otto

一句話介紹:一款老舊且強大的事件匯流排框架
上榜理由:4.8K個star,是square團隊早先推出的事件響應型框架,淘寶app的事件驅動也是基於此框架封裝的,如今square已經建議開發者採用RxJava RxAndroid來代替otto了。但otto仍有與EventBus橫向對比的價值,縱向來說,otto與square自家開發的Rx系列框架的差異同樣值得開發者們去探究。
作者:square
使用:
repositories {     mavenCentral()     maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } }  compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'複製程式碼

54.u2020

一句話介紹:一款提供Dagger的高階教學示例的app(額,名字是有點繞)
上榜理由:4.7K個star,JakeWharton牽頭開發的教學類app,教你使用Dagger在其他高階框架的用法,它展示了Dagger與ButterKnife、Retrofit、Moshi、Picasso、Okhttp、RxJava、Timber、Madge、LeakCanar等眾多優秀框架結合起來的高階用法,你也可以借鑑到自己的專案當中
作者:JakeWharton

55.buck

一句話介紹:buck是一個快速構建系統
上榜理由:facebook+google出身的作者,對構建程式碼的出色理解,加上大型團隊的維護,以及增量更新時的快速高效,讓buck成為了微信Android團隊構建專案的首選,構建大型專案時,它比gradle更快,然而中小公司並不適合此框架,但作為立志在框架設計領域有一番作為的人們,歡迎來一探究竟
官網地址:buckbuild.com/
作者:facebook
使用:
linux or mac system  +docs複製程式碼

56.PermissionsDispatcher

一句話介紹:一款基於註解的提供解決執行時危險許可權方案的框架
上榜理由:自Android6.0 Google提出危險許可權一詞起,使用者安全性被提到一定的高度,一些執行時對使用者較為危險的許可權將不再自動被開發者獲取,需要經過使用者批准,開發者才可以繼續使用該許可權,如果你曾經被許可權問題搞的抓耳撓腮,建議你試試這個框架,它足夠解決你的問題
作者:Shintaro Katafuchi
使用:
dependencies {   compile('com.github.hotchemi:permissionsdispatcher:${latest.version}') {       exclude module: "support-v13"   }   annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:${latest.version}' }   repositories {   jcenter()   maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local/' } }複製程式碼

57.android-gif-drawable

一句話介紹:一款提供展示GIF動畫能力的檢視框架

上榜理由:據我所查國內著名App——知乎使用了android-gif-drawable,因此證明了它的存在價值,儘管在榜單第十一位介紹了lottie-android直接應用AE動畫的示例,但AE設計師不是每個公司都配備的,GIF的存在,就必然存在了展示GIF的需要,它值得你擁有!

github github.com/koral--/and…

作者:Karol Wrótniak

使用:

repositories {     mavenCentral()     maven { url "https://oss.sonatype.org/content/repositories/snapshots" } } dependencies {     compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.+' }複製程式碼

58.Apktool

一句話介紹:一款反編譯apk的工具

上榜理由:開源的反編譯工具,對於志在瞭解apk逆向破解的諸位,值得擁有,4.5k個star,逆向破解apk神器!

github github.com/iBotPeaches…

官網地址:ibotpeaches.github.io/Apktool/

作者:Connor Tumbleson

59.dynamic-load-apk

一句話介紹:外掛化開發框架

上榜理由:4.5k個star,位於外掛化開發框架第二名(第一名來自360團隊),全面的文件介紹讓你很快就能上手外掛化開發,如果你喜歡大段文字講解,那麼這個專案一定適合你

github:github.com/singwhatiwa…

作者:singwhatiwanna

使用:

github上的文件配合作者部落格更配喲

60.atlas

一句話介紹:淘寶推出的元件化開發框架

上榜理由:淘寶團隊所出的精品,atlas框架提供瞭解耦、元件、動態的開發能力,4.5k個star讓他位列元件化開發框架第一名

github github.com/alibaba/atl…

作者:alibaba

61.volley

一句話介紹:google推薦使用的Android端網路請求框架

上榜理由:4.4k個star,並不是他不夠優秀,而是使用volley已經漸漸成為廣大開發者的習慣

github https://github.com/google/volley(新版volley地址)

作者:google

使用:

clone原始碼到本地

62.androidmvp

一句話介紹:一款展示Android端Mvp設計的demo
上榜理由:榜單裡為數不多、僅憑展示某種設計模式就獲得4.2K個star的專案,如果你有嘗試mvp的打算,androidmvp可以作為你的前哨站
作者:Antonio Leiva
使用:
clone到本地

63.SwipeBackLayout

一句話介紹:一款可以讓你通過滑動手勢關閉頁面的的框架
上榜理由:仿微信滑動退出當前聊天介面的效果,提供了activity的滑動關閉能力,通過這種思路,實現fragment的滑動關閉輕而易舉;筆者堅持建議諸位clone原始碼到本地探索一番;4.2k個star證明很多人都喜愛它
作者:ike_w0ng
使用:
compile 'me.imid.swipebacklayout.lib:library:1.0.0'複製程式碼

64.FlycoTabLayout

一句話介紹:一款可以讓作出多種多樣指示器效果的框架

上榜理由:儘管我們沒有理由為了給app加入頁面指示器功能就整合2.5M的依賴庫,但是作為了解viewpager或swip views的指示器設計原理的優秀框架,你值得開啟它試試,筆者建議單獨拆分所需原始碼,加入到自己的專案中去。4.1K個star,二次開發的作品,仍然推薦!

github github.com/H07000223/F…

作者:Flyco

65.android-testing

一句話介紹:一款展示四大自動化測試框架用例的demo(Espresso,UiAutomator,AndroidJunitRunner,JUnit4)

上榜理由:學習者經常會陷入似懂非懂的境地,如果你有幸學習過Android Testing Support Library site的課程,那麼你一定對android的四大測試框架迫不及待,這款demo非常適合你,快來學習這個4.1k個star的明星專案吧

github github.com/googlesampl…

作者:googlesampes團隊

66.FileDownloader

一句話介紹:一款高效、穩定、靈活、易用的檔案下載引擎

上榜理由:4.1k證明了它有多受人喜愛,檔案下載看似簡單的背後暗藏了多少的坑坑點點,我知道你有能力自己實現檔案下載功能,但優秀的框架可以提升你的設計編碼能力,這款框架可以提升你的實力!

github github.com/lingochamp/…

作者:LingoChamp團隊

使用:

dependencies {     compile 'com.liulishuo.filedownloader:library:1.5.5' }複製程式碼

67.JieCaoVideoPlayer

一句話介紹:基於MediaPlayer api——VideoView 的多媒體播放框架

上榜理由:榜單裡第三款多媒體播放框架,它以靈巧的身姿擠入本榜單,精巧是它最大的優點,不到100k,擁有它,你就可以快速開發類似今日頭條那樣的視訊播放效果,4k個star,證明它值得一試

github github.com/lipangit/Ji…

作者:Nathen

使用:
compile 'fm.jiecao:jiecaovideoplayer:5.5.4'複製程式碼

68.glide-transformations

一句話介紹:為眾多著名圖片載入框架提供圖片形狀變幻能力的框架

上榜理由:在榜單靠前的部分已經介紹過glide,Picasso,Fresco等圖片載入框架,glide-transformations就是一款為他們提供圖片變形能力的框架,使用起來非常簡單,因此受到了大家的喜愛,github上有3.8K個star
作者:Daichi Furiya
使用:
repositories {     jcenter() }  dependencies {     compile 'jp.wasabeef:glide-transformations:2.0.2'     // If you want to use the GPU Filters     compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1' }複製程式碼

在Glide裡設定變幻效果

Set Glide Transform.  Glide.with(this).load(R.drawable.demo)         .bitmapTransform(new BlurTransformation(context))         .into((ImageView) findViewById(R.id.image));複製程式碼

69.android-gpuimage

一句話介紹:一款基於OpenGL的圖片渲染引擎
上榜理由:放下GpuImage在IOS平臺的榮譽不談,Android版的android-gpuimage就提供多達70多種圖片渲染效果,你還在好奇美圖秀秀是如何實現圖片變幻的?有了它,一切都不是問題。如果你是美圖工具類的工程師,此框架的建設思路也會對你大有裨益。筆者也是通過android-gpuimage仿造了美圖App並俘獲女友芳心的,再次為它的實力點贊。ios版+android版一共19k個star,已經證明了它的實力,還在等什麼呢?
作者:CyberAgent 團隊
使用:
repositories {     jcenter() }  dependencies {     compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1' }複製程式碼

更多的改造方法,還需要閱讀Ios的程式設計文件,對於有毅力的小夥伴強力推薦!

70.RxPermissions

一句話介紹:一款基於RxJava完成許可權申請的框架
上榜理由:榜單裡第二款提供權服務的框架,基於RxJava的設計,讓你可以專心寫業務,3.7K個star已經證明了它的實用價值
作者:Thomas Bruyelle
使用:
repositories {     jcenter() // If not already there }  dependencies {     compile 'com.tbruyelle.rxpermissions:rxpermissions:0.9.4@aar' }複製程式碼

優雅的使用:
RxPermissions rxPermissions = new RxPermissions(this);   rxPermissions     .request(Manifest.permission.CAMERA)     .subscribe(granted -> {         if (granted) { // I can control the camera now         } else {            // Oups permission denied         }     });複製程式碼

71.freeline

一句話介紹:一款動態替換的編譯構建框架

上榜理由:繼Facebook的Buck,Androdi官方的InstRun之後,螞蟻金服推出了Freeline編譯框架,官網宣稱Freeline與業內主流構建方式相比仍然有數倍的速度領先;排行有先後,編譯速度並不在本榜單排序的考據因素中,因此freeline以3.7個star,暫列編譯框架第二名

官網地址:www.freelinebuild.com/

github:github.com/alibaba/fre…

作者:alibaba

使用:

buildscript {     repositories {         jcenter()     }     dependencies {         classpath 'com.antfortune.freeline:gradle:0.8.7'     } }複製程式碼
apply plugin: 'com.antfortune.freeline'  android {     ... }複製程式碼
複製程式碼

File → Settings... → Plugins → Browse repositories →freeline.

複製程式碼

72.RxLifecycle

一句話介紹:一款提供在使用RxJava過程中管理Activity和Fragment生命週期能力的框架

上榜理由:在榜單靠前的部分,你已經瞭解RxJava和RxAndroid的強大之處,但部分粗心的開發者因為沒有及時取消訂閱而產生嚴重的記憶體洩漏,不要擔心,RxLifecycle可以為你解決難題,在gtihub上擁有3.7K個star,國內知名軟體——知乎和淘寶也都在使用它

github github.com/trello/RxLi…

作者:trello團隊

使用:

clone原始碼到本地

73.classyshark

一句話介紹:一款可執行檔案瀏覽器

上榜理由:榜單裡繼Apktool之後第二款apk逆向工具,如果你喜歡優雅的圖形資料展示,那麼你一定不能錯過他,classyshark可以將破解的結果以圖形化展示使用者,方便分析,3.7K個star,讓它暫列apk逆向工具第二位!

github github.com/google/andr…

作者:google

使用:

下載 JAR

74.acra

一句話介紹:一款提供記錄APP崩潰日誌能力的框架

上榜理由:如果你面臨著收集APP崩潰日誌的需求,那麼acra是個不錯的選擇。3.7K個star,讓acra位列崩潰日誌框架排行榜第一名,acra有足夠的能力記錄線上APP,並且發回服務端,acra也提供了相當棒的崩潰日誌統計服務端框架Acralyzer,cralyzer工作在Apache CouchDB之上,所以除了CouchDB之外,沒有必要安裝任何額外的軟體,移動端開發者也可以藉此學習服務端的建設,一舉兩得!

github github.com/ACRA/acra

服務端github github.com/ACRA/acraly…

作者:acra團隊

使用:

沒有什麼方法比clone原始碼到本地更方便了

75.DiskLruCache

一句話介紹:一款提供磁碟檔案快取管理能力的框架

上榜理由:3.7k個star並不足以說明DiskLruCache的優秀,僅僅以管理磁碟檔案能力單獨拎出來成為一個框架,作者需要很大的勇氣,很幸運,作者做到了,並且也成為Google官網提倡的快取 ;如還記得上次做“一鍵清除快取”、“檢視快取檔案大小”功能是什麼時候嗎?DiskLruCache一句話就可以搞定!

github github.com/JakeWharton…

作者:JakeWharton

使用:

compile 'com.jakewharton:disklrucache:2.0.2'複製程式碼

或者下載 latest .jar

76.dexposed

一句話介紹:一款支撐阿里大部分App客戶端熱修復、線上除錯能力的框架

上榜理由:榜單上再次出現熱修復框架的身影,證明App熱修復技術的火熱,dexposed提供圖形化的效能監控、線上熱修復bug漏洞、支援AOP程式設計思想等,不論你是企業熱修復技術的設計者還是打算在熱修復領域一探究竟的新人,這款框架很適合你。3.5k個star,證明它作為一門技術框架的存在,是多麼令人喜愛!

github github.com/alibaba/dex…

作者:alibaba

使用:

dependencies {         compile 'com.taobao.android:dexposed:0.1.1@aar'     }複製程式碼

77.Litho

一句話介紹:一款提供高效構建UI能力的框架

上榜理由:作為一款專門構建UI的框架,Litho高效的地方在於:單獨開闢了用於渲染和佈局的執行緒,然後將建立好的元件傳遞給UI執行緒去完成最終的渲染,使用更少的檢視層級,來提升介面的滾動速度,值得注意的是,它僅支援開發者作出不可改變的UI元件 ,3.5K個star,證明了它在構建UI領域的價值,更多的妙處,期待你親自去發掘!

github github.com/facebook/li…

作者:facebook

使用:

ependencies {   // ...   // Litho   compile 'com.facebook.litho:litho-core:0.3.1'   compile 'com.facebook.litho:litho-widget:0.3.1'   provided 'com.facebook.litho:litho-annotations:0.3.1'    annotationProcessor 'com.facebook.litho:litho-processor:0.3.1'    // SoLoader   compile 'com.facebook.soloader:soloader:0.2.0'    // Optional   // For debugging   debugCompile 'com.facebook.litho:litho-stetho:0.3.1'    // For integration with Fresco   compile 'com.facebook.litho:litho-fresco:0.3.1'    // For testing   testCompile 'com.facebook.litho:litho-testing:0.3.1' }複製程式碼

78.mosby

一句話介紹:一款提供構建MVP專案能力的框架

上榜理由:榜單靠前的部分已經介紹了MVC,MVVM,MVP的框架專案,想必此時你在構建企業專案架構上,選擇或者開發一款合適的MVP框架迫在眉睫,mosby可以作為你的第一步參考,你可以封裝它,也可以照抄它,無論如何,3.4K個star,證明了它在框架設計上有多受開發者的喜愛

github github.com/sockeqwe/mo…

作者:Hannes Dorfmann

使用:

dependencies {    compile 'com.hannesdorfmann.mosby3:mvi:3.0.4' // Model-View-Intent   // or   compile 'com.hannesdorfmann.mosby3:mvp:3.0.4' // Plain MVP   // or   compile 'com.hannesdorfmann.mosby3:viewstate:3.0.4' // MVP + ViewState support }複製程式碼
allprojects {   repositories {     ...      maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } }複製程式碼

79.AndResGuard

一句話介紹:一款提供資原始檔路徑混淆 的工具

上榜理由:如果你是個對APK大小很敏感的人,那麼AndResGuard一定適合你,它的原理類似Java Proguard,但是隻針對資源。他會將原本冗長的資源路徑變短,例如將res/drawable/wechat變為r/d/a,3.4K個star,證明了在優化APK道路上,你不是一個人在戰鬥!

github github.com/shwenzhang/…

作者:wechat team

使用:

clone專案到本地,其實也就是個三兩句話的文件

80.StatusBarUtil

一句話介紹:一款提供設定沉浸式狀態列樣式能力的框架

上榜理由:設計師MM總是抱怨系統狀態列不優雅?那就給她一個完美的沉浸式狀態列。StatusBarUtil可以隨心所欲的設定狀態列樣式,3.3K個star,足以說明它有多受設計MM的喜愛

github github.com/laobie/Stat…

作者:Jaeger

使用:

compile 'com.jaeger.statusbarutil:library:1.4.0'複製程式碼

81.robolectric

一句話介紹:一款不依賴於Android裝置的單元測試框架,

上榜理由:sample中列舉了如何對Android四大元件和常見功能測試的用例,3.2K個star,值得充滿好奇心的人嘗試

官網地址:robolectric.org/

github github.com/robolectric…

作者:robolectric

使用:

testCompile "org.robolectric:robolectric:3.3.2"複製程式碼

82.Fragmentation

一句話介紹:一款提供管理Fragmen巢狀t能力的框架

上榜理由:對於Activity和Fragment使用,你一定得心應手,但如果要做一套通用的Activity&Fragment巢狀設計,想必你有點手足無措了,Fragmentation可以作為你設計Fragment管理上的第一步,3.2K個star,筆者認為有點名副其實了,專案介紹裡說的是Fragment的管理能力,但並未提供Fragment&Activity生命週期、任務棧的管理能力,因此很難直接應用到企業專案當中,但原始碼當中的設計思路,值得筆者與諸位借鑑,拾人牙慧留有餘香!

github:github.com/YoKeyword/F…

作者:YoKey

使用:

// appcompat v7包是必須的 compile 'me.yokeyword:fragmentation:0.10.7' // 如果想使用SwipeBack 滑動邊緣退出Fragment/Activity功能,請再新增下面的庫 // compile 'me.yokeyword:fragmentation-swipeback:0.10.4'複製程式碼

83.Small

一句話介紹:輕巧的外掛化框架

上榜理由:作為外掛框架榜單的新成員,Small的優點是輕巧,適合作為小團隊的外掛開發方案,3.1K個star,讓它獲得了酷狗音樂等著名開發團隊的青睞,如果你們的團隊想逐步實施外掛化開發,Small是個不錯的選擇!

官網地址:code.wequick.net/Small/cn/ca…

github github.com/wequick/Sma…

作者:wequick 團隊

使用:

buildscript  {     dependencies {         classpath 'net.wequick.tools.build:gradle-small:1.2.0-alpha6'     } }  apply plugin: 'net.wequick.small'  small {     aarVersion = '1.2.0-alpha6' }複製程式碼

84.JsBridge

一句話介紹:一款提供WebView和Javascript通訊能力的框架

上榜理由:該框架提供給了允許H5頁面呼叫通過JS呼叫App方法的能力;3.1K個star,簡潔的通訊方式,值得每一個Web\Hybrid App開發者嘗試

gtihub github.com/lzyzsd/JsBr…

作者:hi大頭鬼hi

使用:

repositories {     // ...     maven { url "https://jitpack.io" } }  dependencies {     compile 'com.github.lzyzsd:jsbridge:1.0.4' }複製程式碼

85.richeditor-android

一句話介紹:一款強大的富文字編輯框架

上榜理由:2.8k個star,榜單裡第一個為TextView提供擴充套件能力的框架,你暫時不需要它,但不能不知道它

github github.com/wasabeef/ri…

作者:Daichi Furiya

使用:

repositories {     jcenter() }  dependencies {     compile 'jp.wasabeef:richeditor-android:1.2.2' }複製程式碼

86.Transitions-Everywhere

一句話介紹:一款教你正確使用Transitions API(Android 轉場動畫API)的教學型專案

上榜理由:你可能還未嘗試過Android API的Transitions 框架,可能聽過,但卻無法做出優雅奇妙的動效——別擔心,Transitions-Everywhere正如它的名字一樣,它將帶你全面體驗Transitions 的強大之處

github github.com/andkulikov/…

作者:Andrey Kulikov

使用:

dependencies {     compile "com.andkulikov:transitionseverywhere:1.7.4" }複製程式碼

87.android-viewbadger

一句話介紹:能夠快速的為Android 檢視加入“勳章”能力的框架

上榜理由:如果說勳章一詞聽起來陌生,那麼顯示已讀未讀個數、小紅點標記資訊這一類詞語你一定不太陌生,筆者相信在諸位實際開發中經常遇到為某些item加入小紅點標記的需求,聰明的各位一定有著各種實現方案,為什麼不能快速優雅的完成呢?android-viewbadger可以幫你實現,當然,在某些情況下,你需要具備修改原始碼的能力,以符合設計MM的需求!值得注意的是,這寬專案已經五年沒有更新了!

github github.com/jgilfelt/an…

作者:Jeff Gilfelt

使用:

clone原始碼到本地

View target = findViewById(R.id.target_view); BadgeView badge = new BadgeView(this, target); badge.setText("1"); badge.show();複製程式碼

88.AndroidWiFiADB

一句話介紹:一款不用資料線也可以讓你除錯手機裝置APP的外掛專案

上榜理由:你是否還在擔心測試過程中高強度的拔插資料線對手機電池和USB埠造成終生難以彌補的損害?別擔心,有wifi有AndroidWiFiADB,無須資料線也可以除錯應用了,更有趣的是,在測試工程師一邊拿著手機一邊找你聊bug的時候,你已經偷偷在它的手機上修復了bug,深藏功與名!

github github.com/pedrovgs/An…

作者:Pedro Vicente Gómez Sánchez

使用:

Preferences/Settings->Plugins->Browse Repositories->serch AndroidWiFiADB複製程式碼

889.emojicon

一句話介紹:一款提供在TextView、EdiText展示表情包能力的框架

上榜理由:2.7k個star,,榜單第二款增強TextView顯示能力的框架,這款專為表情包設計,如果你曾經好奇微信、QQ的表情顯示是如何做到的?這款框架一定能滿足你的求知慾。

90.packer-ng-plugin

一句話介紹:一款打爆工具外掛

上榜利用:筆者盡力維護榜單涉及範圍的全面性,因此引入此外掛專案——專案號稱完成100個渠道包只需要10秒鐘,在市面上各種各樣多渠道打包方案的今天,選擇一款適合自己團隊的,才是上上選擇

github github.com/mcxiaoke/pa…

作者:Xiaoke Zhang

使用:

buildscript {     ......     dependencies{     // add packer-ng         classpath 'com.mcxiaoke.gradle:packer-ng:1.0.9'     } } 複製程式碼

apply plugin: 'packer'   dependencies {     compile 'com.mcxiaoke.gradle:packer-helper:1.0.9' }    android {     //...     signingConfigs {       release {           // 滿足下面兩個條件時需要此配置           // 1. Gradle版本 >= 2.14.1           // 2. Android Gradle Plugin 版本 >= 2.2.0           // 作用是隻使用舊版簽名,禁用V2版簽名模式         v2SigningEnabled false        }     }   }複製程式碼

91.android-priority-jobqueue

一句話介紹:一款提供後臺任務管理能力的框架

上榜理由:如果你是個志在深入研究多執行緒操作的開發者,這個專案一定不要錯過,不論是Activity重新載入、Service使用執行緒池時的任務優先順序和併發問題,都不要擔心,Job Manage會照顧優先順序,永續性,負載平衡,延遲,網路控制,分組,2.4K個star,優秀的多執行緒管理能力,況且它依賴的第三方框架很少,值得你一試

github github.com/yigit/andro…

作者:Yigit Boyar

92.Android-Debug-Database

一句話介紹:一款提供測試App內部資料庫能力的框架

上榜理由:榜單裡第二款針對除錯資料庫的框架,一行程式碼整合,直接在瀏覽器增刪改查App的資料庫,2.3k個star,心動不如行動!

github github.com/amitshekhar…

作者:AMIT SHEKHAR

使用:

debugCompile 'com.amitshekhar.android:debug-db:1.0.0'複製程式碼

瀏覽器鍵入

 http://XXX.XXX.X.XXX:8080複製程式碼

93.conceal

一句話介紹:一款facebook提供的加密本地大檔案的框架

上榜理由:如果還在擔心App內的圖片的隱私問題,這款facebook提供的檔案加密框架足以解決你的問題,facebook客戶端的圖片和資料都是使用conceal加密的

官網地址:facebook.github.io/conceal/

github github.com/facebook/co…

作者;facebook

使用:

clone專案到本地/官網下載jar

94.ARouter

一句話介紹:一款提供服務、頁面跳轉路由的框架

上榜理由:正如作者宣稱的那樣,該框架提供:從外部URL對映到內部頁面、跨模組的頁面跳轉(頁面解耦)、攔截跳轉過程等能力,還有更多功能等你去發掘,2.1K個star,值得為企業級的框架喝彩

github github.com/alibaba/ARo…

作者:alibaba

使用:

ndroid {     defaultConfig {     ...     javaCompileOptions {         annotationProcessorOptions {         arguments = [ moduleName : project.getName() ]         }     }     } }  dependencies {     // 替換成最新版本, 需要注意的是api     // 要與compiler匹配使用,均使用最新版可以保證相容     compile 'com.alibaba:arouter-api:x.x.x'     annotationProcessor 'com.alibaba:arouter-compiler:x.x.x'     ... } // 舊版本gradle外掛(< 2.2),可以使用apt外掛,配置方法見文末'其他#4' // Kotlin配置參考文末'其他#5'複製程式碼

95.MagicaSakura

一句話介紹:一款提供多主題切換能力的框架

上榜理由:框架所提供的能力,一直是本榜單所看重的,這款由bilibili提供的多主題框架,作為榜單所涉及範圍能補充,1.9個star,感謝bilibili團隊所作出的貢獻!

github github.com/Bilibili/Ma…

作者:Bilibili

使用:

compile 'com.bilibili:magicasakura:0.1.6@aar'複製程式碼

96.CustomActivityOnCrash

一句話介紹:一款當APP crash的時候自動載入某個Activity的框架(而不是顯示Unfortunately, X has stopped)

上榜理由:新奇的創意是榜單所需要的,所以它贏得了1.8K個star;作為開發者應該擁有考慮到各種潛伏的bug的能力,但我們不能總是面面俱到,其他系統端的同事也可能造成程式的意外crash,因此,如何讓程式優雅的crash->重啟值得我們思考,這款框架就提供了這種能力

github github.com/Ereza/Custo…

作者:Eduard Ereza Martínez

使用:

dependencies {     compile 'cat.ereza:customactivityoncrash:2.1.0' }複製程式碼
新增到 Application class:複製程式碼
  @Override public void onCreate() {     super.onCreate();      CaocConfig.Builder.create()         .backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT)          .enabled(false) //default: true         .showErrorDetails(false) //default: true         .showRestartButton(false) //default: true         .trackActivities(true) //default: false         .minTimeBetweenCrashesMs(2000) //default: 3000         .errorDrawable(R.drawable.ic_custom_drawable) //default: bug image         .restartActivity(YourCustomActivity.class) //default: null (your app's launch activity)         .errorActivity(YourCustomErrorActivity.class) //default: null (default error activity)         .eventListener(new YourCustomEventListener()) //default: null         .apply(); }複製程式碼

97.XhsEmoticonsKeyboard

一句話介紹:最開心的開源表情解決方案

上榜理由:如果你還在發愁如何為你的APP自制鍵盤,那麼此框架非常適合你,而且還提供表情包展示能力,1.7個star證明了它的獨特。此外作者還附贈了高仿微信鍵盤,QQ鍵盤的demo,分享給諸位

github github.com/w446108264/…

作者:zhongdaxia

使用:

allprojects {     repositories {         jcenter()         maven { url "https://jitpack.io" }     } }   dependencies {      compile 'com.github.w446108264:XhsEmoticonsKeyboard:2.0.4' }複製程式碼

三.完整專案

1.iosche

一句話介紹:谷歌2016開發者大會的展示專案

上榜理由:github上有13.4k個star,位居企業級專案排行榜第一位,牛逼的開發者,權威的設計模式,標準的專案寫法,值得一試;筆者建議初學者down下原始碼,找到app入口,每個頁面走一通,配合設計模式的概念加深理解。

github github.com/google/iosc…

作者: Google

2.Plaid

一句話介紹:提供設計新聞和靈感的開源app

上榜理由:標準的material design設計,新聞類app,github上9k的star量值得你摒棄市面上參差不齊的新聞app,快點下手研究它吧!

github github.com/nickbutcher…

作者: Nick Butcher

3.PocketHub

一句話介紹:Github的Android版

上榜理由:8.7K的star數量,Github的親生兒子,開放的原始碼值得各位一探究竟

github github.com/pockethub/P…

作者:Fadil Sutomo

使用:

down下所有原始碼

4.Signal Android

一句話介紹:Signal是一款安全通訊的簡訊類app,

上榜理由:7.9K的star數量,工具類app的標籤屬性,讓它在排行榜中獨一無二,如果你對簡訊app有興趣,可以深入探究一番

github github.com/WhisperSyst…

作者:WhisperSystems

使用:github上down原始碼

5.android-UniversalMusicPlayer

一句話介紹:一款跨裝置執行的多媒體app

上榜理由:googlesamples良心推薦,github擁有7.9k個star,可以在Android手機,汽車,平板,穿戴裝置上使用,對於僅僅體驗過Android手機開發的程式設計師,會不會很新奇呢?你值得一試!

github github.com/googlesampl…

作者:Google

使用:github上down原始碼

6.HomeMirror

一句話介紹:如果你是個愛美的傢伙那麼你一定需要這面鏡子!

上榜理由:工具類App很難再github上有一席之地,除非它提供特別新奇的功能,比如HomeMirror,github上有用7599個star,僅僅因為它提供了鏡子的功能。從現在起,Android 手機、pad,都將成為你旅遊居家神器,值得擁有!

github github.com/HannahMitt/…

作者:Hannah Mittens

HomeMirror初體驗:

7.ExoPlayer

一句話介紹:一款 替代Android原生MediaPlayer的媒體播放器

上榜理由:也許是Google對自家MediaPlayer API不甚滿意,所以誕生了ExoPlayer,ExoPlayer提供了強大的擴充套件API,使用它來製作多媒體播放器更快捷,更容易擴充套件,對多媒體播放器感興趣的同仁們可以用它來大展身手了!6.9K個star,證明它有多受開發者們喜愛,更難能可貴的是,google還在更新維護著!

官網地址:google.github.io/ExoPlayer/

github github.com/google/ExoP…

作者:google

使用:

repositories {     jcenter() } compile 'com.google.android.exoplayer:exoplayer:r2.X.X'  compile 'com.google.android.exoplayer:exoplayer-core:r2.X.X' compile 'com.google.android.exoplayer:exoplayer-dash:r2.X.X' compile 'com.google.android.exoplayer:exoplayer-ui:r2.X.X'複製程式碼

8.cheesesquare

一句話介紹:Android 材料設計的展示性專案

上榜理由:作者被稱為是Android Support Lib背後的男人,他寫出的展示性專案,怎能不推薦上榜?材料設計已經炒了好幾年了,但作為最權威的展示專案,你一定需要它,6.7個star證明了它是多麼的受歡迎。

github github.com/chrisbanes/…

作者:Chris Banes

9.DanmakuFlameMaster

一句話介紹:android端開源彈幕引擎

上榜理由:bilibili出品,保證了它的純種品質,並且ndk原始碼也一併開源,可謂業界良心,該彈幕引擎的開源節省了很多視訊直播小夥伴的開發成本,筆者強力推薦!

github github.com/Bilibili/Da…

作者:bilibili

使用:

repositories {     jcenter() }  dependencies {     compile 'com.github.ctiao:DanmakuFlameMaster:0.8.3'     compile 'com.github.ctiao:ndkbitmap-armv7a:0.8.3'      # Other ABIs: optional     compile 'com.github.ctiao:ndkbitmap-armv5:0.8.3'     compile 'com.github.ctiao:ndkbitmap-x86:0.8.3' }複製程式碼

10.facebook-android-sdk

一句話介紹:一款提供接入facebook平臺能力的框架

上榜理由:無論是你有接入facebook的需求,還是有學習自制sdk的需求,這都是很棒的途徑;如何開發一套企業級sdk,是進階優秀開發工程師的必須之路,4.1k個star,facebook持久更新質量保證,你值得擁有!

github github.com/facebook/fa…

作者:facebook

使用:

 https://developers.facebook.com/docs/android複製程式碼

11.android-oss

一句話介紹:國外創意社群Kickstarter 開源的Android版客戶端

上榜理由:精緻的企業級APP,每個頁面處理得都很棒,如果你志在成為一個優雅工程師,這款開源專案一定適合你,3.8k個star證明了它不俗的生命力

github:github.com/kickstarter…

作者:kickstarter

使用;

clone原始碼到本地

12.k-9

一句話介紹:Android端客戶端郵件App

上榜理由:還記得張小龍的成名作——FoxMail嗎?如果你想做一款移動端Email App,k-9具有很好的借鑑價值,此外對於應用層協議你也會有更深的認識

官網地址: k9mail.github.io/

github github.com/k9mail/k-9

使用:

clone專案到本地

13.Timber

一句話介紹:一款音樂播放器類App

上榜理由:3K個star,完全按照材料設計規範,提供十幾種播放特性,而且還提供App的通用設定能力,這一點做的同樣優秀,對於志在提升開發技術的同學值得一試

github github.com/naman14/Tim…

作者:Naman Dwivedi

使用:

clone原始碼是一個好習慣

14.remusic

一句話介紹:仿網易雲音樂Android版App

上榜理由:學習完Timer,是否還不太滿足你的胃口?remusic可以滿足你的胃口——它甚至可以拿去直接當上線專案了!2.9K個star,基於Timber的設計(入手的前提是先搞懂Timber)值得入手;有一個問題:如果由你重構,你會如何做呢?

github github.com/aa112901/re…

作者:MW

使用:

clone專案

15.Douya

一句話介紹:開源豆瓣客戶端

上榜理由:一款功能全面、架構設計不俗的開源APP;僅僅是對豆瓣APP設計思路不滿而進行的重構專案,可見作者對產品的痴迷和熱愛,2.9K個star,證明該專案並不是頭腦發熱一時興起的作品,如果每一個idea都能實現,那我們的世界將會多麼美妙!

github github.com/DreaminginC…

作者:Zhang Hai

使用:

clone專案到本地

16.BookReader

一句話介紹:開源小說閱讀器

上榜理由:2.7K個star,榜單裡第一款閱讀器APP,具有很高的學習價值(針對有興趣往閱讀工具類方向發展的同學)

github github.com/JustWayward…

作者:JustWayward 團隊

使用:

clone到本地

17.bilibili-android-client

一句話介紹:高仿bilibili的Android客戶端

上榜理由:2.5K個star,榜單裡第一款視訊直播開源App;適合對視訊直播、社群互動感興趣的同學;bilibili-android-client裡使用了很多大型框架,此專案並不適合基礎薄弱的同學,不要灰心,學習頁面的佈局設計也是值得的!

github github.com/HotBitmapGG…

作者:Hcc

使用:clone到本地

18.AndroidChromium

一句話介紹:Android版chrome瀏覽器

上榜理由:正如作者宣稱的那樣:

  • 谷歌瀏覽器安卓版原始碼專案
  • 世界級的安卓架構
  • 理清本專案業務邏輯完全可以勝任國內一線公司工程師

  對於志在梳理瀏覽器框架的你,值得擁有

github github.com/JackyAndroi…

作者:JackYAndroid

使用:

clone原始碼到本地

四.開發框架:

(排名無先後、只按型別劃分)

1.libgdx

一句話介紹:一款跨平臺的android端遊戲開發框架

上榜理由:android端開發框架類第一名,11.7K的star量,遊戲框架是它的專屬標籤,更重要的是它是跨平臺的

官網地址 libgdx.badlogicgames.com/

github github.com/libgdx/libg…

2.xUtils

一句話介紹:老牌企業級開發框架

上榜理由:4.9K個star,xUtils作為上古時期程式設計師備受推崇的開發框架,最大的原因——省事。xUtls包含四大模組,與之而來的是提供四大操作能力:資料操作、UI操作、Http協議操作、圖片操作。xUtils作為筆者初學Android框架設計的導師型專案,在筆者多年經驗中,看到xUtils作為眾多中小銀行Android端框架方案首選,足以證明它的受歡迎程度。該框架現在已經更新到了xUtils3,如果你對Android框架涉及有一定的想法,可以從xUtils入手,進階為框架大師行列。雖然框架中很多引擎已經過時,各個模組的做法都可以用其他框架替代,但xUtils作為國內開發者的驕傲,上古時期的框架寵兒,值得你擁有!

github github.com/wyouflf/xUt…

作者:wyouflf

使用:

compile 'org.xutils:xutils:3.5.0'複製程式碼

3.android-common

一句話介紹: 一款android快速開發框架

上榜理由:滴滴資深級Android工程師出品,歷經多年開發者的檢驗,以4.3K屹立於快速開發框架榜第三名,該框架提供了圖片快取、Http快取、DropDownListView、下載模組、開發常用工具類等,作為上古時期程式設計師最早的總結性開發框架,它是一代人智慧的結晶,值得我們為作者Trinea鼓掌喝彩

github https://github.com/Trinea/android-common

作者:Trinea

使用:

clone程式碼到本地

4.Vitamio

一句話介紹:一款支援跨平臺的Android多媒體開發框架

上榜理由:如果之前提到的exoplayer不能滿足你開發多媒體的需求,那我保證vitamio值得你一試

官網地址:www.vitamio.org/

github github.com/yixia/Vitam…

作者:yixia團隊

使用:

clone原始碼到本地

5.Weex

一句話介紹:移動端跨平臺開發的解決方案

上榜理由:14.4K個star,有成熟應用案例的企業級混合開發框架,阿里巴巴出品,為什麼不試試呢?

官網地址:weex.apache.org/cn/

github github.com/alibaba/wee…

作者:alibaba

6.cordova-android(Hybrid 開發框架、WebApp開發框架)

一句話介紹:跨平臺的開發框架

上榜理由:cordova有足夠的能力完成混合開發、WebApp開發的需求:不論你是Web開發者,或者是Native開發者,使用cordova都可以作出跨平臺的App

官網地址:cordova.axuer.com/docs/zh-cn/…

github github.com/apache/cord…

7.react-native

一句話介紹:一款以Javascript的語言來操作多個系統語言(Ios、Android)的框架

上榜理由:很難講react-native屬於什麼類別,它適合前端工程師開發移動端App,也適合Native開發者進行跨平臺的開發,但對於Navitve開發者來說陡峭的學習曲線會嚇走一大批“框架愛好者”;前端界有一句名言:Web代表著未來,Native代表著現在,而我們處在現在與未來的道路上;49K個star,似乎讓我們離未來更進一步

官網地址: facebook.github.io/react-nativ…

github github.com/facebook/re…

作者:facebook

五.其他:

1.AndroidUtilCode

一句話介紹:提供了數量龐大的工具類

上榜理由:10.8K的star個數,足以證明它是多麼受歡迎,歡迎你提供常用的工具類壯大它!

github github.com/Blankj/Andr…

File → Settings... → Plugins → Browse repositories...

and search for freeline.

2.kotiln

一句話介紹:Google推出的Android程式語言

上榜理由:就像AndroidStudio取代Eclipse那樣,Goolg將kotiln作為Android的官網語言,也許是為了避免同Oracle的專利訴訟,但kotlin 100%相容java,大幅精簡java程式碼量,以及函數語言程式設計的思想這些優異的特性同意值得我們注意,還記得在榜單之前說過的嗎?未來是kotlin的,當下是java的,但我們處在當下通往未來的道路上——學習未來的程式語言,提升自己的工作效率,早點下班打豆豆,何樂而不為?

官網地址:kotlinlang.org/

github:github.com/JetBrains/k…

使用:

kotlinlang.org/docs/refere… 提供了 api-android用例-書籍等資源

六.書籍類專案

(排序無先後)

1.Android developer中國官網培訓課程

一句話介紹:符合中國國情的Google開發者官網的子產品——Android開發者官網

上榜理由:這裡有培訓課程、API用例課程、Sample用例、依賴庫介紹、AndroidStudio官網...等等一系列公開免費的課程,儘管大部分內容還是英文講解,可是你肯靠著英語詞典一篇一篇啃完,相信我,你的Android知識水平將秒殺國內市面上大部分的Android書籍

官網地址:developer.android.google.cn/training/in…

作者:google

2.android-architecture

一句話介紹:google提供的Android當下各種基本框架

上榜理由:看完它,mvp,mvvm都將入切瓜砍菜,秋風掃落葉一般...

github github.com/googlesampl…

作者:google

3.andorid-open-project

一句話介紹:囊括Android幾乎所有的開源專案的導航類目錄

上榜理由:23k個star的導航類目錄,與其盛名不符的是,該專案的導航、瀏覽閱讀體驗做的非常差,建議消遣之餘閱讀;推薦理由——中國人做的最全的Android 開源專案導航目錄

github github.com/Trinea/andr…

作者:Trinea

4.awesome-android-ui

一句話介紹:Android的開源專案目錄

上榜理由:國外的一款導航目錄,23k個star

github github.com/wasabeef/aw…

筆者寄語:

今年我們的權威框架之旅就結束了,是否感覺到意猶未盡?那太好了,歡迎各位讀者加入《Android百大框架排行榜》的討論之中,可以來文章原文的底部評論留言,參與討論:

1.我認為XX框架應該上榜,理由XX

2.我發現文章有幾處錯誤,在XX部分

3.對於筆者的某些觀點我不能苟同,比如XX,我認為XX

...

筆者希望收到有理有據的評論和未上榜的框架推薦,屆時筆者會抽取一部分參與評論的小夥伴將,發放共計100RMB的物質獎勵!

                                     2017-06-19 北京


相關文章