阿里震撼業(yè)界—推出首個(gè)非侵入式熱修復(fù)方案Sophix,顛覆移動(dòng)端傳統(tǒng)發(fā)版更新流程!
一.榜單介紹排行榜包括四大類:
框架名次越靠前,值得使用的優(yōu)先級(jí)就越高、研究原理得到的收獲會(huì)更多、對讀者啟發(fā)的價(jià)值就越大
二.百大框架排行榜快速索引
注:榜單排序依據(jù):1.項(xiàng)目開源 2.github上該項(xiàng)目的star個(gè)數(shù) 3.開發(fā)團(tuán)隊(duì)、作者的實(shí)力 為了保證榜單內(nèi)容的多樣性,榜單上盡可能的不重復(fù)同類型框架(比如多款listview增強(qiáng)框架)部分框架介紹: (由于篇幅有限,下面只講解部分框架,更全面的講解查看:2017年Android百大框架排行榜,或者點(diǎn)擊文末“閱讀原文”查閱) 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./retrofit/ github https://github.com/square/retrofit 作者:square團(tuán)隊(duì) 使用: compile '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í)框架原理時(shí)可以分開學(xué)習(xí),以免理解混亂。 官網(wǎng)地址 http://square./okhttp/ github https://github.com/square/okhttp 作者:square團(tuán)隊(duì) 使用: compile 'com.squareup.okhttp3:okhttp:3.8.0'
3.Butter Knife一句話介紹:Butter Knife所提供了一種能力——使用注解生成模板代碼,將view與方法和參數(shù)綁定。 上榜理由:github上16.5K個(gè)star,配合Androidstudio提供的Butter Knife插件,幫助開發(fā)者省卻了頻繁findviewbyid的煩惱,最新的Butter Knife還提供了onclick綁定以及字符串的初始化,初學(xué)者可以查閱Butter Knife以及Butter Knife插件進(jìn)一步學(xué)習(xí)! 官網(wǎng)地址:http://jakewharton./butterknife/ github:https://github.com/JakeWharton/butterknife 作者:JakeWharton ,也是square團(tuán)隊(duì)成員之一 使用: dependencies {
compile 'com.jakewharton:butterknife:8.6.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'}
4.MPAndroidChart一句話介紹:MPAndroidChart是一款圖表框架 上榜理由:github上16.1K個(gè)star,以快速、簡潔。強(qiáng)大著稱的圖表框架 官網(wǎng)地址 https://github.com/PhilJay/MPAndroidChart github https://github.com/PhilJay/MPAndroidChart 作者:PhilJay 使用: 1. 在AS中加入Gradle依賴
5. glide一句話介紹:glide是一款專注于提供流暢劃動(dòng)能力的“圖片加載和緩存框架” 上榜理由:15.9k個(gè)star,圖片加載類框架排名第一的框架,google 在2014開發(fā)者大會(huì)上演示的camera app就是基于gilde框架開發(fā)的 github https://github.com/bumptech/glide 作者 Bump Technologies團(tuán)隊(duì) 使用: repositories {
mavenCentral()
}
dependencies {
compile 'com.github.bumptech.glide:glide:3.8.0'
compile 'com.android.support:support-v4:19.1.0'} 6.leakcanary一句話介紹:一款內(nèi)存檢測框架,服務(wù)于java和android客戶端 上榜理由:方便,簡潔是leakcanary最大的特點(diǎn),只需在應(yīng)用的apllication中集成,就可以直接使用它;15.5k個(gè)star說明了它有多么受歡迎 github https://github.com/square/leakcanary 作者 square團(tuán)隊(duì) 使用: 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'
} 在 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個(gè)star足以證明它的熱門,UIL與gilde最大區(qū)別是可定制,UIL提供了大量配置方式,圖片加載狀態(tài)的回調(diào)(成功,失敗,進(jìn)行中),加載動(dòng)畫等;以及提供了移動(dòng)端圖片加載框架的緩存思路:三級(jí)緩存策略 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,在大型項(xiàng)目的Activities,fragments,Threads,Services都可以看到它的使用場景,盡管EventBus在向未創(chuàng)建的組件傳遞事件時(shí)有些局限,僅適合在“活著的”組件間傳遞消息,但仍不妨礙它活躍在各個(gè)大型項(xiàng)目各個(gè)場景里。 官網(wǎng)地址 http:///eventbus/documentation/how-to-get-started/ github https://github.com/greenrobot/EventBus 作者 greenrobot 使用: compile 'org.greenrobot:eventbus:3.0.0'
9.zxing一句話介紹:條碼圖像處理庫 上榜理由:如果你用過二維碼,你肯定已經(jīng)間接使用過大名鼎鼎的zxing了。13.9K的star量,讓它排在本榜單第九,實(shí)至名歸,如果你有了解二維碼的需求,不妨從了解、修改它源碼入手。 github https://github.com/zxing/zxing 作者 Sean Owen
10.picasso一句話介紹:強(qiáng)力的圖片下載、緩存框架 上榜理由:本榜單出現(xiàn)的第三款圖片類框架,不同的是picasso更強(qiáng)調(diào)圖片下載,你可以將picasso集成進(jìn)你的項(xiàng)目中,你也可以結(jié)合gilde和UIL與picasso,三者一齊封裝至你的項(xiàng)目中,按需所用。 官網(wǎng)地址 http://square./picasso/ github https://github.com/square/picasso 作者 square團(tuán)隊(duì) 使用: compile 'com.squareup.picasso:picasso:2.5.2' 或者下載 jar包 三.完整項(xiàng)目1.iosche一句話介紹:谷歌2016開發(fā)者大會(huì)的展示項(xiàng)目 上榜理由:github上有13.4k個(gè)star,位居企業(yè)級(jí)項(xiàng)目排行榜第一位,牛逼的開發(fā)者,權(quán)威的設(shè)計(jì)模式,標(biāo)準(zhǔn)的項(xiàng)目寫法,值得一試;筆者建議初學(xué)者down下源碼,找到app入口,每個(gè)頁面走一通,配合設(shè)計(jì)模式的概念加深理解。 github https://github.com/google/iosched 作者: Google
2.Plaid一句話介紹:提供設(shè)計(jì)新聞和靈感的開源app 上榜理由:標(biāo)準(zhǔn)的material design設(shè)計(jì),新聞?lì)恆pp,github上9k的star量值得你摒棄市面上參差不齊的新聞app,快點(diǎn)下手研究它吧! github https://github.com/nickbutcher/plaid 作者: Nick Butcher
3.PocketHub一句話介紹:Github的Android版 上榜理由:8.7K的star數(shù)量,Github的親生兒子,開放的源碼值得各位一探究竟 github https://github.com/pockethub/PocketHub 作者:Fadil Sutomo 使用: down下所有源碼
4.Signal Android一句話介紹:Signal是一款安全通訊的短信類app, 上榜理由:7.9K的star數(shù)量,工具類app的標(biāo)簽屬性,讓它在排行榜中獨(dú)一無二,如果你對短信app有興趣,可以深入探究一番 github https://github.com/WhisperSystems/Signal-Android 作者:WhisperSystems 使用:github上down源碼
5.android-UniversalMusicPlayer一句話介紹:一款跨設(shè)備運(yùn)行的多媒體app 上榜理由:googlesamples良心推薦,github擁有7.9k個(gè)star,可以在Android手機(jī),汽車,平板,穿戴設(shè)備上使用,對于僅僅體驗(yàn)過Android手機(jī)開發(fā)的程序員,會(huì)不會(huì)很新奇呢?你值得一試! github https://github.com/googlesamples/android-UniversalMusicPlayer 作者:Google 使用:github上down源碼
6.HomeMirror一句話介紹:如果你是個(gè)愛美的家伙那么你一定需要這面鏡子! 上榜理由:工具類App很難再github上有一席之地,除非它提供特別新奇的功能,比如HomeMirror,github上有用7599個(gè)star,僅僅因?yàn)樗峁┝绥R子的功能。從現(xiàn)在起,Android 手機(jī)、pad,都將成為你旅游居家神器,值得擁有! github https://github.com/HannahMitt/HomeMirror 作者:Hannah Mittens HomeMirror初體驗(yàn):
7.ExoPlayer一句話介紹:一款 替代Android原生MediaPlayer的媒體播放器 上榜理由:也許是Google對自家MediaPlayer API不甚滿意,所以誕生了ExoPlayer,ExoPlayer提供了強(qiáng)大的擴(kuò)展API,使用它來制作多媒體播放器更快捷,更容易擴(kuò)展,對多媒體播放器感興趣的同仁們可以用它來大展身手了!6.9K個(gè)star,證明它有多受開發(fā)者們喜愛,更難能可貴的是,google還在更新維護(hù)著! 官網(wǎng)地址:https://google./ExoPlayer/ github https://github.com/google/ExoPlayer 作者: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 材料設(shè)計(jì)的展示性項(xiàng)目 上榜理由:作者被稱為是Android Support Lib背后的男人,他寫出的展示性項(xiàng)目,怎能不推薦上榜?材料設(shè)計(jì)已經(jīng)炒了好幾年了,但作為最權(quán)威的展示項(xiàng)目,你一定需要它,6.7個(gè)star證明了它是多么的受歡迎。 github https://github.com/chrisbanes/cheesesquare 作者:Chris Banes
9.DanmakuFlameMaster一句話介紹:android端開源彈幕引擎 上榜理由:bilibili出品,保證了它的純種品質(zhì),并且ndk源碼也一并開源,可謂業(yè)界良心,該彈幕引擎的開源節(jié)省了很多視頻直播小伙伴的開發(fā)成本,筆者強(qiáng)力推薦! github https://github.com/Bilibili/DanmakuFlameMaster 作者: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平臺(tái)能力的框架 上榜理由:無論是你有接入facebook的需求,還是有學(xué)習(xí)自制sdk的需求,這都是很棒的途徑;如何開發(fā)一套企業(yè)級(jí)sdk,是進(jìn)階優(yōu)秀開發(fā)工程師的必須之路,4.1k個(gè)star,facebook持久更新質(zhì)量保證,你值得擁有! github https://github.com/facebook/facebook-android-sdk 作者:facebook 使用: https://developers.facebook.com/docs/android
11.android-oss一句話介紹:國外創(chuàng)意社區(qū)Kickstarter 開源的Android版客戶端 上榜理由:精致的企業(yè)級(jí)APP,每個(gè)頁面處理得都很棒,如果你志在成為一個(gè)優(yōu)雅工程師,這款開源項(xiàng)目一定適合你,3.8k個(gè)star證明了它不俗的生命力 github:https://github.com/kickstarter/android-oss 作者:kickstarter 使用; clone源碼到本地
12.k-9一句話介紹:Android端客戶端郵件App 上榜理由:還記得張小龍的成名作——FoxMail嗎?如果你想做一款移動(dòng)端Email App,k-9具有很好的借鑒價(jià)值,此外對于應(yīng)用層協(xié)議你也會(huì)有更深的認(rèn)識(shí) 官網(wǎng)地址: https://k9mail./ github https://github.com/k9mail/k-9 使用: clone項(xiàng)目到本地
13.Timber一句話介紹:一款音樂播放器類App 上榜理由:3K個(gè)star,完全按照材料設(shè)計(jì)規(guī)范,提供十幾種播放特性,而且還提供App的通用設(shè)置能力,這一點(diǎn)做的同樣優(yōu)秀,對于志在提升開發(fā)技術(shù)的同學(xué)值得一試 github https://github.com/naman14/Timber 作者:Naman Dwivedi 使用: clone源碼是一個(gè)好習(xí)慣
14.remusic一句話介紹:仿網(wǎng)易云音樂Android版App 上榜理由:學(xué)習(xí)完Timer,是否還不太滿足你的胃口?remusic可以滿足你的胃口——它甚至可以拿去直接當(dāng)上線項(xiàng)目了!2.9K個(gè)star,基于Timber的設(shè)計(jì)(入手的前提是先搞懂Timber)值得入手;有一個(gè)問題:如果由你重構(gòu),你會(huì)如何做呢? github https://github.com/aa112901/remusic 作者:MW 使用: clone項(xiàng)目
15.Douya一句話介紹:開源豆瓣客戶端 上榜理由:一款功能全面、架構(gòu)設(shè)計(jì)不俗的開源APP;僅僅是對豆瓣APP設(shè)計(jì)思路不滿而進(jìn)行的重構(gòu)項(xiàng)目,可見作者對產(chǎn)品的癡迷和熱愛,2.9K個(gè)star,證明該項(xiàng)目并不是頭腦發(fā)熱一時(shí)興起的作品,如果每一個(gè)idea都能實(shí)現(xiàn),那我們的世界將會(huì)多么美妙! github https://github.com/DreaminginCodeZH/Douya 作者:Zhang Hai 使用: clone項(xiàng)目到本地
16.BookReader一句話介紹:開源小說閱讀器 上榜理由:2.7K個(gè)star,榜單里第一款閱讀器APP,具有很高的學(xué)習(xí)價(jià)值(針對有興趣往閱讀工具類方向發(fā)展的同學(xué)) github https://github.com/JustWayward/BookReader 作者:JustWayward 團(tuán)隊(duì) 使用: clone到本地
17.bilibili-android-client一句話介紹:高仿bilibili的Android客戶端 上榜理由:2.5K個(gè)star,榜單里第一款視頻直播開源App;適合對視頻直播、社區(qū)互動(dòng)感興趣的同學(xué);bilibili-android-client里使用了很多大型框架,此項(xiàng)目并不適合基礎(chǔ)薄弱的同學(xué),不要灰心,學(xué)習(xí)頁面的布局設(shè)計(jì)也是值得的! github https://github.com/HotBitmapGG/bilibili-android-client 作者:Hcc 使用:clone到本地
18.AndroidChromium一句話介紹:Android版chrome瀏覽器 上榜理由:正如作者宣稱的那樣:
對于志在梳理瀏覽器框架的你,值得擁有 github https://github.com/JackyAndroid/AndroidChromium 作者:JackYAndroid 使用: clone源碼到本地 四.開發(fā)框架:(排名無先后、只按類型劃分)1.libgdx一句話介紹:一款跨平臺(tái)的android端游戲開發(fā)框架 上榜理由:android端開發(fā)框架類第一名,11.7K的star量,游戲框架是它的專屬標(biāo)簽,更重要的是它是跨平臺(tái)的 官網(wǎng)地址 http://libgdx./ github https://github.com/libgdx/libgdx 2.xUtils一句話介紹:老牌企業(yè)級(jí)開發(fā)框架 上榜理由:4.9K個(gè)star,xUtils作為上古時(shí)期程序員備受推崇的開發(fā)框架,最大的原因——省事。xUtls包含四大模塊,與之而來的是提供四大操作能力:數(shù)據(jù)操作、UI操作、Http協(xié)議操作、圖片操作。xUtils作為筆者初學(xué)Android框架設(shè)計(jì)的導(dǎo)師型項(xiàng)目,在筆者多年經(jīng)驗(yàn)中,看到xUtils作為眾多中小銀行Android端框架方案首選,足以證明它的受歡迎程度。該框架現(xiàn)在已經(jīng)更新到了xUtils3,如果你對Android框架涉及有一定的想法,可以從xUtils入手,進(jìn)階為框架大師行列。雖然框架中很多引擎已經(jīng)過時(shí),各個(gè)模塊的做法都可以用其他框架替代,但xUtils作為國內(nèi)開發(fā)者的驕傲,上古時(shí)期的框架寵兒,值得你擁有! github https://github.com/wyouflf/xUtils 作者:wyouflf 使用: compile 'org.xutils:xutils:3.5.0' 3.android-common一句話介紹: 一款android快速開發(fā)框架 上榜理由:滴滴資深級(jí)Android工程師出品,歷經(jīng)多年開發(fā)者的檢驗(yàn),以4.3K屹立于快速開發(fā)框架榜第三名,該框架提供了圖片緩存、Http緩存、DropDownListView、下載模塊、開發(fā)常用工具類等,作為上古時(shí)期程序員最早的總結(jié)性開發(fā)框架,它是一代人智慧的結(jié)晶,值得我們?yōu)樽髡逿rinea鼓掌喝彩 github https://github.com/Trinea/android-common 作者:Trinea 使用: clone代碼到本地 4.Vitamio一句話介紹:一款支持跨平臺(tái)的Android多媒體開發(fā)框架 上榜理由:如果之前提到的exoplayer不能滿足你開發(fā)多媒體的需求,那我保證vitamio值得你一試 官網(wǎng)地址:https://www./ github https://github.com/yixia/VitamioBundle 作者:yixia團(tuán)隊(duì) 使用: clone源碼到本地
5.Weex一句話介紹:移動(dòng)端跨平臺(tái)開發(fā)的解決方案 上榜理由:14.4K個(gè)star,有成熟應(yīng)用案例的企業(yè)級(jí)混合開發(fā)框架,阿里巴巴出品,為什么不試試呢? 官網(wǎng)地址:https://weex./cn/ github https://github.com/alibaba/weex 作者:alibaba
6.cordova-android(Hybrid 開發(fā)框架、WebApp開發(fā)框架)一句話介紹:跨平臺(tái)的開發(fā)框架 上榜理由:cordova有足夠的能力完成混合開發(fā)、WebApp開發(fā)的需求:不論你是Web開發(fā)者,或者是Native開發(fā)者,使用cordova都可以作出跨平臺(tái)的App 官網(wǎng)地址:http://cordova./docs/zh-cn/latest/guide/overview/index.html github https://github.com/apache/cordova-android
7.react-native一句話介紹:一款以Javascript的語言來操作多個(gè)系統(tǒng)語言(Ios、Android)的框架 上榜理由:很難講react-native屬于什么類別,它適合前端工程師開發(fā)移動(dòng)端App,也適合Native開發(fā)者進(jìn)行跨平臺(tái)的開發(fā),但對于Navitve開發(fā)者來說陡峭的學(xué)習(xí)曲線會(huì)嚇走一大批“框架愛好者”;前端界有一句名言:Web代表著未來,Native代表著現(xiàn)在,而我們處在現(xiàn)在與未來的道路上;49K個(gè)star,似乎讓我們離未來更進(jìn)一步 官網(wǎng)地址: http://facebook./react-native/docs/getting-started.html github https://github.com/facebook/react-native 作者:facebook
五.其他:1.AndroidUtilCode一句話介紹:提供了數(shù)量龐大的工具類 上榜理由:10.8K的star個(gè)數(shù),足以證明它是多么受歡迎,歡迎你提供常用的工具類壯大它! github https://github.com/Blankj/AndroidUtilCode/blob/master/README-CN.md
and search for
2.kotiln一句話介紹:Google推出的Android編程語言 上榜理由:就像AndroidStudio取代Eclipse那樣,Goolg將kotiln作為Android的官網(wǎng)語言,也許是為了避免同Oracle的專利訴訟,但kotlin 100%兼容java,大幅精簡java代碼量,以及函數(shù)式編程的思想這些優(yōu)異的特性同意值得我們注意,還記得在榜單之前說過的嗎?未來是kotlin的,當(dāng)下是java的,但我們處在當(dāng)下通往未來的道路上——學(xué)習(xí)未來的編程語言,提升自己的工作效率,早點(diǎn)下班打豆豆,何樂而不為? 官網(wǎng)地址:http:/// github:https://github.com/JetBrains/kotlin 使用: http:///docs/reference/ 提供了 api-android用例-書籍等資源
六.書籍類項(xiàng)目(排序無先后)1.Android developer中國官網(wǎng)培訓(xùn)課程一句話介紹:符合中國國情的Google開發(fā)者官網(wǎng)的子產(chǎn)品——Android開發(fā)者官網(wǎng) 上榜理由:這里有培訓(xùn)課程、API用例課程、Sample用例、依賴庫介紹、AndroidStudio官網(wǎng)...等等一系列公開免費(fèi)的課程,盡管大部分內(nèi)容還是英文講解,可是你肯靠著英語詞典一篇一篇啃完,相信我,你的Android知識(shí)水平將秒殺國內(nèi)市面上大部分的Android書籍 官網(wǎng)地址:https://developer.android.google.cn/training/index.html 作者:google |
|