1. 程式人生 > >2017年Android一百個框架排行榜,2017年Android框架大全

2017年Android一百個框架排行榜,2017年Android框架大全

排行榜包括四大類:

單一框架:僅提供路由、網路層、UI層、通訊層或其他單一功能的框架

混合開發框架:提供開發hybrid app、h5與webview結合能力、web app能力的框架

企業級開源專案:可以獨立執行的app,有極高的學習價值、思路借鑑意義

書籍類開源專案:類似Open-sourc-project這樣的導航類專案;大型公司的Android課程的學習目錄

框架名次越靠前,值得使用的優先順序就越高、研究原理得到的收穫會更多、對讀者啟發的價值就越大

二.百大框架排行榜

快速索引
框架名稱 上榜關鍵字
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-dialogs UI
17.droid-async-http 網路
18.androidannotations 註解
19.fastjson json
20.Material-Animations 動畫
21.tinker 熱修復
22.ViewPagerIndicator UI
23.Android-CleanArchitecture 架構
24.Android-PullToRefresh 重新整理
25.flexbox-layout UI
26.AndroidSwipeLayout UI
27.realm-java 資料庫
28.greenDAO 資料
29.stetho 除錯
30.BaseRecyclerViewAdapterHelper UI
31.AndroidViewAnimations 動畫
32.MaterialDrawer 選單
33.Android-ObservableScrollView UI
34.CircleImageView 圖片
35.logger 除錯
36.agera 非同步
37.BottmBar 選單
38.Calligraphy 字型
39.AndroidSlidingUpPanel UI
40.AppIntro UI
41.recyclerview-animators 動畫
42.dagger 依賴注入
43.Android-Bootstarp UI
44.RxBinding 響應式
45.ListViewAnimations 動畫
46.UItimateRecyclerView UI
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-drawable GIF
58.Apktool 反編譯
59.dynamic-load-apk 外掛化
60.atlas 外掛化
61.volley 網路
62.androidmvp 用例
63.SwipeBackLayout 手勢
64.FlycoTabLayout UI
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.mosby MVP
79.AndResGuard 混淆
80.StatusBarUtil 狀態列
81.robolectric 測試
82.Fragmentation 巢狀
83.Small 外掛化
84.JsBridge hybrid
85.richeditor-android UI
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.專案開源

    2.github上該專案的star個數

    3.開發團隊、作者的實力

為了保證榜單內容的多樣性,榜單上儘可能的不重複同類型框架(比如多款listview增強框架)

部分框架介紹:

(由於篇幅有限,下面只講解部分框架,更全面的講解檢視:2017年Android百大框架排行榜,或者點選文末“閱讀原文”查閱)
1. Retrofit

一句話介紹:Retrofit是一款型別安全的網路框架,基於HTTP協議,服務於Android和java語言

上榜理由:Retrofit以21.8k的stars量雄踞github中android子標題榜首,第一當之無愧。

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

使用:
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 ,也是square團隊成員之一

使用:
dependencies { compile’com.jakewharton:butterknife:8.6.0’ annotationProcessor’com.jakewharton:butterknife-compiler:8.6.0’}

4.MPAndroidChart

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

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

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

  2. glide

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

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

作者 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說明了它有多麼受歡迎

作者 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 中寫入:
publicclassExampleApplication extends Application { @OverridepublicvoidonCreate() { 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以及兩年未更新了,但筆者仍推薦各位使用!

作者 nostra13

使用:

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

8.EventBus

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

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

作者 greenrobot

使用:
compile’org.greenrobot:eventbus:3.0.0’

9.zxing

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

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

作者 Sean Owen

10.picasso

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

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

作者 square團隊

使用:
compile’com.squareup.picasso:picasso:2.5.2’

或者下載 jar包

三.完整專案
1.iosche

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

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

作者: Google

2.Plaid

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

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

作者: Nick Butcher

3.PocketHub

一句話介紹:Github的Android版

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

作者:Fadil Sutomo

使用:

down下所有原始碼

4.Signal Android

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

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

作者:WhisperSystems

使用:github上down原始碼

5.android-UniversalMusicPlayer

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

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

作者:Google

使用:github上down原始碼

6.HomeMirror

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

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

作者:Hannah Mittens

HomeMirror初體驗:

7.ExoPlayer

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

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

作者: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證明了它是多麼的受歡迎。

作者:Chris Banes

9.DanmakuFlameMaster

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

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

作者: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持久更新質量保證,你值得擁有!

作者:facebook

11.android-oss

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

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

作者:kickstarter

使用;

clone原始碼到本地

12.k-9

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

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

使用:

clone專案到本地

13.Timber

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

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

作者:Naman Dwivedi

使用:

clone原始碼是一個好習慣

14.remusic

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

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

作者:MW

使用:

clone專案

15.Douya

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

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

作者:Zhang Hai

使用:

clone專案到本地

16.BookReader

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

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

作者:JustWayward 團隊

使用:

clone到本地

17.bilibili-android-client

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

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

作者:Hcc

使用:clone到本地

18.AndroidChromium

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

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

谷歌瀏覽器安卓版原始碼專案

世界級的安卓架構

理清本專案業務邏輯完全可以勝任國內一線公司工程師

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

作者:JackYAndroid

使用:

clone原始碼到本地
四.開發框架:
(排名無先後、只按型別劃分)
1.libgdx

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

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

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

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

作者:wyouflf

使用:
compile’org.xutils:xutils:3.5.0’
3.android-common

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

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

作者:Trinea

使用:

clone程式碼到本地
4.Vitamio

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

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

作者:yixia團隊

使用:

clone原始碼到本地

5.Weex

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

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

作者:alibaba

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

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

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

7.react-native

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

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

作者:facebook

五.其他:
1.AndroidUtilCode

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

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

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的,但我們處在當下通往未來的道路上——學習未來的程式語言,提升自己的工作效率,早點下班打豆豆,何樂而不為?

使用:

六.書籍類專案
(排序無先後)
1.Android developer中國官網培訓課程

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

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

作者:google

2.android-architecture

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

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

作者:google

3.andorid-open-project

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

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

作者:Trinea

4.awesome-android-ui

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

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