阿里震撼業(yè)界—推出首個非侵入式熱修復(fù)方案Sophix,顛覆移動端傳統(tǒng)發(fā)版更新流程!
來源:http://www.cnblogs.com/jincheng-yangchaofan/articles/7018780.html
排行榜包括四大類:
單一框架:僅提供路由、網(wǎng)絡(luò)層、UI層、通信層或其他單一功能的框架
混合開發(fā)框架:提供開發(fā)hybrid app、h5與webview結(jié)合能力、web app能力的框架
企業(yè)級開源項目:可以獨立運行的app,有極高的學(xué)習(xí)價值、思路借鑒意義
書籍類開源項目:類似Open-sourc-project這樣的導(dǎo)航類項目;大型公司的Android課程的學(xué)習(xí)目錄
框架名次越靠前,值得使用的優(yōu)先級就越高、研究原理得到的收獲會更多、對讀者啟發(fā)的價值就越大
快速索引
框架名稱 | 上榜關(guān)鍵字 |
1.Retrofit | 網(wǎng)絡(luò) |
2.okhttp | 網(wǎng)絡(luò) |
3.Butter Knife | 代碼模板 |
4.MPAndroidChart | 圖表 |
5.glide | 圖片 |
6.leakcanary | 內(nèi)存 |
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 | 網(wǎng)絡(luò) |
18.androidannotations | 注解 |
19.fastjson | json |
20.Material-Animations | 動畫 |
21.tinker | 熱修復(fù) |
22.ViewPagerIndicator | UI |
23.Android-CleanArchitecture | 架構(gòu) |
24.Android-PullToRefresh | 刷新 |
25.flexbox-layout | UI |
26.AndroidSwipeLayout | UI |
27.realm-java | 數(shù)據(jù)庫 |
28.greenDAO | 數(shù)據(jù) |
29.stetho | 調(diào)試 |
30.BaseRecyclerViewAdapterHelper | UI |
31.AndroidViewAnimations | 動畫 |
32.MaterialDrawer | 菜單 |
33.Android-ObservableScrollView | UI |
34.CircleImageView | 圖片 |
35.logger | 調(diào)試 |
36.agera | 異步 |
37.BottmBar | 菜單 |
38.Calligraphy | 字體 |
39.AndroidSlidingUpPanel | UI |
40.AppIntro | UI |
41.recyclerview-animators | 動畫 |
42.dagger | 依賴注入 |
43.Android-Bootstarp | UI |
44.RxBinding | 響應(yīng)式 |
45.ListViewAnimations | 動畫 |
46.UItimateRecyclerView | UI |
47.uCrop | 圖片 |
48.RxJava-Android-Samples | 用例 |
49.AndroidAutoLayout | 適配 |
50.EffectiveAndroidUI | 性能 |
51.Luban | 圖片 |
52.DroidPlugin | 插件化 |
53.otto | 響應(yīng)式 |
54.u2020 | 用例 |
55.buck | 構(gòu)建 |
56.PermissionsDispatcher | 權(quán)限 |
57.android-gif-drawable | GIF |
58.Apktool | 反編譯 |
59.dynamic-load-apk | 插件化 |
60.atlas | 插件化 |
61.volley | 網(wǎng)絡(luò) |
62.androidmvp | 用例 |
63.SwipeBackLayout | 手勢 |
64.FlycoTabLayout | UI |
65.android-testing | 測試 |
66.FileDownloader | 下載 |
67.JieCaoVideoPlayer | 多媒體 |
68.glide-transformations | 圖片 |
69.android-gpuimage | 圖片 |
70.RxPermissions | 權(quán)限 |
71.freeline | 編譯 |
72.RxLifecycle | 生命周期 |
73.classyshark | 反編譯 |
74.acra | 崩潰日志 |
75.DiskLruCache | 文件 |
76.dexposed | 熱修復(fù) |
77.Litho | 性能 |
78.mosby | MVP |
79.AndResGuard | 混淆 |
80.StatusBarUtil | 狀態(tài)欄 |
81.robolectric | 測試 |
82.Fragmentation | 嵌套 |
83.Small | 插件化 |
84.JsBridge | hybrid |
85.richeditor-android | UI |
86.Transitions-Everywhere | 動畫 |
87.android-viewbadger | 勛章 |
88.AndroidWiFiADB | 調(diào)試 |
89.emojicon | 表情包 |
90.packer-ng-plugin | 多渠道 |
91.android-priority-jobqueue | 多線程 |
92.Android-Debug-Database | 調(diào)試 |
93.conceal | 加密 |
94.ARouter | 頁面路由 |
95.MagicaSakura | 多主題 |
96.CustomActivityOnCrash | 崩潰 |
97.XhsEmoticonsKeyboard | 鍵盤 |
1.項目開源
2.github上該項目的star個數(shù)
3.開發(fā)團隊、作者的實力
部分框架介紹:
(由于篇幅有限,下面只講解部分框架,更全面的講解查看:2017年Android百大框架排行榜,或者點擊文末“閱讀原文”查閱)
一句話介紹:Retrofit是一款類型安全的網(wǎng)絡(luò)框架,基于HTTP協(xié)議,服務(wù)于Android和java語言
上榜理由:Retrofit以21.8k的stars量雄踞github中android子標題榜首,第一當之無愧。
官網(wǎng)地址 http://square.github.io/retrofit/
github https://github.com/square/retrofit
作者:square團隊
使用:
一句話介紹:okhttp是一款基于HTTP和HTTP2.0協(xié)議的網(wǎng)絡(luò)框架,服務(wù)于java和android客戶端
上榜理由,okhttp以20.4k的stars量雄踞github中android子標題第二名。大型公司比如淘寶也封裝的是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團隊
使用:
一句話介紹:Butter Knife所提供了一種能力——使用注解生成模板代碼,將view與方法和參數(shù)綁定。
上榜理由:github上16.5K個star,配合Androidstudio提供的Butter Knife插件,幫助開發(fā)者省卻了頻繁findviewbyid的煩惱,最新的Butter Knife還提供了onclick綁定以及字符串的初始化,初學(xué)者可以查閱Butter Knife以及Butter Knife插件進一步學(xué)習(xí)!
官網(wǎng)地址:http://jakewharton.github.io/butterknife/
github:https://github.com/JakeWharton/butterknife
作者:JakeWharton ,也是square團隊成員之一
使用:
一句話介紹:MPAndroidChart是一款圖表框架
上榜理由:github上16.1K個star,以快速、簡潔。強大著稱的圖表框架
官網(wǎng)地址 https://github.com/PhilJay/MPAndroidChart
github https://github.com/PhilJay/MPAndroidChart
作者:PhilJay
使用:
1. 在AS中加入Gradle依賴
在根目錄的 build.gradle上加入
:
在app的build.gradle上加入:
一句話介紹:glide是一款專注于提供流暢劃動能力的“圖片加載和緩存框架”
上榜理由:15.9k個star,圖片加載類框架排名第一的框架,google 在2014開發(fā)者大會上演示的camera app就是基于gilde框架開發(fā)的
github https://github.com/bumptech/glide
作者 Bump Technologies團隊
使用:
一句話介紹:一款內(nèi)存檢測框架,服務(wù)于java和android客戶端
上榜理由:方便,簡潔是leakcanary最大的特點,只需在應(yīng)用的apllication中集成,就可以直接使用它;15.5k個star說明了它有多么受歡迎
github https://github.com/square/leakcanary
作者 square團隊
使用:
在 Application
中寫入:
一句話介紹:曾經(jīng)的圖片加載框架王者,android開發(fā)老手都用過它
上榜理由:android端圖片加載框架的老大哥了,15.3k個star足以證明它的熱門,UIL與gilde最大區(qū)別是可定制,UIL提供了大量配置方式,圖片加載狀態(tài)的回調(diào)(成功,失敗,進行中),加載動畫等;以及提供了移動端圖片加載框架的緩存思路:三級緩存策略 sd卡-內(nèi)存-網(wǎng)絡(luò);值得注意的是,UIL以及兩年未更新了,但筆者仍推薦各位使用!
github https://github.com/nostra13/Android-Universal-Image-Loader
作者 nostra13
使用:
下載地址 universal-image-loader-1.9.5.jar
一句話介紹: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
使用:
一句話介紹:條碼圖像處理庫
上榜理由:如果你用過二維碼,你肯定已經(jīng)間接使用過大名鼎鼎的zxing了。13.9K的star量,讓它排在本榜單第九,實至名歸,如果你有了解二維碼的需求,不妨從了解、修改它源碼入手。
github https://github.com/zxing/zxing
作者 Sean Owen
一句話介紹:強力的圖片下載、緩存框架
上榜理由:本榜單出現(xiàn)的第三款圖片類框架,不同的是picasso更強調(diào)圖片下載,你可以將picasso集成進你的項目中,你也可以結(jié)合gilde和UIL與picasso,三者一齊封裝至你的項目中,按需所用。
官網(wǎng)地址 http://square.github.io/picasso/
github https://github.com/square/picasso
作者 square團隊
使用:
或者下載 jar包
一句話介紹:谷歌2016開發(fā)者大會的展示項目
上榜理由:github上有13.4k個star,位居企業(yè)級項目排行榜第一位,牛逼的開發(fā)者,權(quán)威的設(shè)計模式,標準的項目寫法,值得一試;筆者建議初學(xué)者down下源碼,找到app入口,每個頁面走一通,配合設(shè)計模式的概念加深理解。
github https://github.com/google/iosched
作者: Google
一句話介紹:提供設(shè)計新聞和靈感的開源app
上榜理由:標準的material design設(shè)計,新聞類app,github上9k的star量值得你摒棄市面上參差不齊的新聞app,快點下手研究它吧!
github https://github.com/nickbutcher/plaid
作者: Nick Butcher
一句話介紹:Github的Android版
上榜理由:8.7K的star數(shù)量,Github的親生兒子,開放的源碼值得各位一探究竟
github https://github.com/pockethub/PocketHub
作者:Fadil Sutomo
使用:
down下所有源碼
一句話介紹:Signal是一款安全通訊的短信類app,
上榜理由:7.9K的star數(shù)量,工具類app的標簽屬性,讓它在排行榜中獨一無二,如果你對短信app有興趣,可以深入探究一番
github https://github.com/WhisperSystems/Signal-Android
作者:WhisperSystems
使用:github上down源碼
一句話介紹:一款跨設(shè)備運行的多媒體app
上榜理由:googlesamples良心推薦,github擁有7.9k個star,可以在Android手機,汽車,平板,穿戴設(shè)備上使用,對于僅僅體驗過Android手機開發(fā)的程序員,會不會很新奇呢?你值得一試!
github https://github.com/googlesamples/android-UniversalMusicPlayer
作者:Google
使用:github上down源碼
一句話介紹:如果你是個愛美的家伙那么你一定需要這面鏡子!
上榜理由:工具類App很難再github上有一席之地,除非它提供特別新奇的功能,比如HomeMirror,github上有用7599個star,僅僅因為它提供了鏡子的功能。從現(xiàn)在起,Android 手機、pad,都將成為你旅游居家神器,值得擁有!
github https://github.com/HannahMitt/HomeMirror
作者:Hannah Mittens
HomeMirror初體驗:
一句話介紹:一款 替代Android原生MediaPlayer的媒體播放器
上榜理由:也許是Google對自家MediaPlayer API不甚滿意,所以誕生了ExoPlayer,ExoPlayer提供了強大的擴展API,使用它來制作多媒體播放器更快捷,更容易擴展,對多媒體播放器感興趣的同仁們可以用它來大展身手了!6.9K個star,證明它有多受開發(fā)者們喜愛,更難能可貴的是,google還在更新維護著!
官網(wǎng)地址:https://google.github.io/ExoPlayer/
github https://github.com/google/ExoPlayer
作者:google
使用:
一句話介紹:Android 材料設(shè)計的展示性項目
上榜理由:作者被稱為是Android Support Lib背后的男人,他寫出的展示性項目,怎能不推薦上榜?材料設(shè)計已經(jīng)炒了好幾年了,但作為最權(quán)威的展示項目,你一定需要它,6.7個star證明了它是多么的受歡迎。
github https://github.com/chrisbanes/cheesesquare
作者:Chris Banes
一句話介紹:android端開源彈幕引擎
上榜理由:bilibili出品,保證了它的純種品質(zhì),并且ndk源碼也一并開源,可謂業(yè)界良心,該彈幕引擎的開源節(jié)省了很多視頻直播小伙伴的開發(fā)成本,筆者強力推薦!
github https://github.com/Bilibili/DanmakuFlameMaster
作者:bilibili
使用:
一句話介紹:一款提供接入facebook平臺能力的框架
上榜理由:無論是你有接入facebook的需求,還是有學(xué)習(xí)自制sdk的需求,這都是很棒的途徑;如何開發(fā)一套企業(yè)級sdk,是進階優(yōu)秀開發(fā)工程師的必須之路,4.1k個star,facebook持久更新質(zhì)量保證,你值得擁有!
github https://github.com/facebook/facebook-android-sdk
作者:facebook
使用:
一句話介紹:國外創(chuàng)意社區(qū)Kickstarter 開源的Android版客戶端
上榜理由:精致的企業(yè)級APP,每個頁面處理得都很棒,如果你志在成為一個優(yōu)雅工程師,這款開源項目一定適合你,3.8k個star證明了它不俗的生命力
github:https://github.com/kickstarter/android-oss
作者:kickstarter
使用;
clone源碼到本地
一句話介紹:Android端客戶端郵件App
上榜理由:還記得張小龍的成名作——FoxMail嗎?如果你想做一款移動端Email App,k-9具有很好的借鑒價值,此外對于應(yīng)用層協(xié)議你也會有更深的認識
官網(wǎng)地址: https://k9mail.github.io/
github https://github.com/k9mail/k-9
使用:
clone項目到本地
一句話介紹:一款音樂播放器類App
上榜理由:3K個star,完全按照材料設(shè)計規(guī)范,提供十幾種播放特性,而且還提供App的通用設(shè)置能力,這一點做的同樣優(yōu)秀,對于志在提升開發(fā)技術(shù)的同學(xué)值得一試
github https://github.com/naman14/Timber
作者:Naman Dwivedi
使用:
clone源碼是一個好習(xí)慣
一句話介紹:仿網(wǎng)易云音樂Android版App
上榜理由:學(xué)習(xí)完Timer,是否還不太滿足你的胃口?remusic可以滿足你的胃口——它甚至可以拿去直接當上線項目了!2.9K個star,基于Timber的設(shè)計(入手的前提是先搞懂Timber)值得入手;有一個問題:如果由你重構(gòu),你會如何做呢?
github https://github.com/aa112901/remusic
作者:MW
使用:
clone項目
一句話介紹:開源豆瓣客戶端
上榜理由:一款功能全面、架構(gòu)設(shè)計不俗的開源APP;僅僅是對豆瓣APP設(shè)計思路不滿而進行的重構(gòu)項目,可見作者對產(chǎn)品的癡迷和熱愛,2.9K個star,證明該項目并不是頭腦發(fā)熱一時興起的作品,如果每一個idea都能實現(xiàn),那我們的世界將會多么美妙!
github https://github.com/DreaminginCodeZH/Douya
作者:Zhang Hai
使用:
clone項目到本地
一句話介紹:開源小說閱讀器
上榜理由:2.7K個star,榜單里第一款閱讀器APP,具有很高的學(xué)習(xí)價值(針對有興趣往閱讀工具類方向發(fā)展的同學(xué))
github https://github.com/JustWayward/BookReader
作者:JustWayward 團隊
使用:
clone到本地
一句話介紹:高仿bilibili的Android客戶端
上榜理由:2.5K個star,榜單里第一款視頻直播開源App;適合對視頻直播、社區(qū)互動感興趣的同學(xué);bilibili-android-client里使用了很多大型框架,此項目并不適合基礎(chǔ)薄弱的同學(xué),不要灰心,學(xué)習(xí)頁面的布局設(shè)計也是值得的!
github https://github.com/HotBitmapGG/bilibili-android-client
作者:Hcc
使用:clone到本地
一句話介紹:Android版chrome瀏覽器
上榜理由:正如作者宣稱的那樣:
谷歌瀏覽器安卓版源碼項目
世界級的安卓架構(gòu)
理清本項目業(yè)務(wù)邏輯完全可以勝任國內(nèi)一線公司工程師
對于志在梳理瀏覽器框架的你,值得擁有
github https://github.com/JackyAndroid/AndroidChromium
作者:JackYAndroid
使用:
clone源碼到本地
一句話介紹:一款跨平臺的android端游戲開發(fā)框架
上榜理由:android端開發(fā)框架類第一名,11.7K的star量,游戲框架是它的專屬標簽,更重要的是它是跨平臺的
官網(wǎng)地址 http://libgdx.badlogicgames.com/
github https://github.com/libgdx/libgdx
一句話介紹:老牌企業(yè)級開發(fā)框架
上榜理由:4.9K個star,xUtils作為上古時期程序員備受推崇的開發(fā)框架,最大的原因——省事。xUtls包含四大模塊,與之而來的是提供四大操作能力:數(shù)據(jù)操作、UI操作、Http協(xié)議操作、圖片操作。xUtils作為筆者初學(xué)Android框架設(shè)計的導(dǎo)師型項目,在筆者多年經(jīng)驗中,看到xUtils作為眾多中小銀行Android端框架方案首選,足以證明它的受歡迎程度。該框架現(xiàn)在已經(jīng)更新到了xUtils3,如果你對Android框架涉及有一定的想法,可以從xUtils入手,進階為框架大師行列。雖然框架中很多引擎已經(jīng)過時,各個模塊的做法都可以用其他框架替代,但xUtils作為國內(nèi)開發(fā)者的驕傲,上古時期的框架寵兒,值得你擁有!
github https://github.com/wyouflf/xUtils
作者:wyouflf
使用:
一句話介紹: 一款android快速開發(fā)框架
上榜理由:滴滴資深級Android工程師出品,歷經(jīng)多年開發(fā)者的檢驗,以4.3K屹立于快速開發(fā)框架榜第三名,該框架提供了圖片緩存、Http緩存、DropDownListView、下載模塊、開發(fā)常用工具類等,作為上古時期程序員最早的總結(jié)性開發(fā)框架,它是一代人智慧的結(jié)晶,值得我們?yōu)樽髡逿rinea鼓掌喝彩
github https://github.com/Trinea/android-common
作者:Trinea
使用:
clone代碼到本地
一句話介紹:一款支持跨平臺的Android多媒體開發(fā)框架
上榜理由:如果之前提到的exoplayer不能滿足你開發(fā)多媒體的需求,那我保證vitamio值得你一試
官網(wǎng)地址:https://www.vitamio.org/
github https://github.com/yixia/VitamioBundle
作者:yixia團隊
使用:
clone源碼到本地
一句話介紹:移動端跨平臺開發(fā)的解決方案
上榜理由:14.4K個star,有成熟應(yīng)用案例的企業(yè)級混合開發(fā)框架,阿里巴巴出品,為什么不試試呢?
官網(wǎng)地址:https://weex.apache.org/cn/
github https://github.com/alibaba/weex
作者:alibaba
一句話介紹:跨平臺的開發(fā)框架
上榜理由:cordova有足夠的能力完成混合開發(fā)、WebApp開發(fā)的需求:不論你是Web開發(fā)者,或者是Native開發(fā)者,使用cordova都可以作出跨平臺的App
官網(wǎng)地址:http://cordova.axuer.com/docs/zh-cn/latest/guide/overview/index.html
github https://github.com/apache/cordova-android
一句話介紹:一款以Javascript的語言來操作多個系統(tǒng)語言(Ios、Android)的框架
上榜理由:很難講react-native屬于什么類別,它適合前端工程師開發(fā)移動端App,也適合Native開發(fā)者進行跨平臺的開發(fā),但對于Navitve開發(fā)者來說陡峭的學(xué)習(xí)曲線會嚇走一大批“框架愛好者”;前端界有一句名言:Web代表著未來,Native代表著現(xiàn)在,而我們處在現(xiàn)在與未來的道路上;49K個star,似乎讓我們離未來更進一步
官網(wǎng)地址: http://facebook.github.io/react-native/docs/getting-started.html
github https://github.com/facebook/react-native
作者:facebook
一句話介紹:提供了數(shù)量龐大的工具類
上榜理由:10.8K的star個數(shù),足以證明它是多么受歡迎,歡迎你提供常用的工具類壯大它!
github https://github.com/Blankj/AndroidUtilCode/blob/master/README-CN.md
File → Settings... → Plugins → Browse repositories...
and search for freeline
.
一句話介紹:Google推出的Android編程語言
上榜理由:就像AndroidStudio取代Eclipse那樣,Goolg將kotiln作為Android的官網(wǎng)語言,也許是為了避免同Oracle的專利訴訟,但kotlin 100%兼容java,大幅精簡java代碼量,以及函數(shù)式編程的思想這些優(yōu)異的特性同意值得我們注意,還記得在榜單之前說過的嗎?未來是kotlin的,當下是java的,但我們處在當下通往未來的道路上——學(xué)習(xí)未來的編程語言,提升自己的工作效率,早點下班打豆豆,何樂而不為?
官網(wǎng)地址:http://kotlinlang.org/
github:https://github.com/JetBrains/kotlin
使用:
http://kotlinlang.org/docs/reference/ 提供了 api-android用例-書籍等資源
一句話介紹:符合中國國情的Google開發(fā)者官網(wǎng)的子產(chǎn)品——Android開發(fā)者官網(wǎng)
上榜理由:這里有培訓(xùn)課程、API用例課程、Sample用例、依賴庫介紹、AndroidStudio官網(wǎng)...等等一系列公開免費的課程,盡管大部分內(nèi)容還是英文講解,可是你肯靠著英語詞典一篇一篇啃完,相信我,你的Android知識水平將秒殺國內(nèi)市面上大部分的Android書籍
官網(wǎng)地址:https://developer.android.google.cn/training/index.html
作者:google