阿里震撼業(yè)界—推出首個非侵入式熱修復(fù)方案Sophix,顛覆移動端傳統(tǒng)發(fā)版更新流程,!
一.榜單介紹排行榜包括四大類:
框架名次越靠前,,值得使用的優(yōu)先級就越高、研究原理得到的收獲會更多,、對讀者啟發(fā)的價值就越大
二.百大框架排行榜快速索引
注:榜單排序依據(jù):1.項目開源 2.github上該項目的star個數(shù) 3.開發(fā)團(tuán)隊,、作者的實力 為了保證榜單內(nèi)容的多樣性,榜單上盡可能的不重復(fù)同類型框架(比如多款listview增強(qiáng)框架)部分框架介紹: (由于篇幅有限,,下面只講解部分框架,,更全面的講解查看:2017年Android百大框架排行榜,或者點擊文末“閱讀原文”查閱) 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)隊 使用: 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í)框架原理時可以分開學(xué)習(xí),,以免理解混亂。 官網(wǎng)地址 http://square./okhttp/ github https://github.com/square/okhttp 作者:square團(tuán)隊 使用: compile 'com.squareup.okhttp3:okhttp:3.8.0'
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./butterknife/ github:https://github.com/JakeWharton/butterknife 作者:JakeWharton ,,也是square團(tuán)隊成員之一 使用: dependencies {
compile 'com.jakewharton:butterknife:8.6.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'}
4.MPAndroidChart一句話介紹:MPAndroidChart是一款圖表框架 上榜理由:github上16.1K個star,以快速,、簡潔,。強(qiáng)大著稱的圖表框架 官網(wǎng)地址 https://github.com/PhilJay/MPAndroidChart github https://github.com/PhilJay/MPAndroidChart 作者:PhilJay 使用: 1. 在AS中加入Gradle依賴
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 {
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最大的特點,,只需在應(yīng)用的apllication中集成,,就可以直接使用它;15.5k個star說明了它有多么受歡迎 github https://github.com/square/leakcanary 作者 square團(tuán)隊 使用: 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個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:///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量,,讓它排在本榜單第九,實至名歸,,如果你有了解二維碼的需求,,不妨從了解、修改它源碼入手,。 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./picasso/ github https://github.com/square/picasso 作者 square團(tuán)隊 使用: compile 'com.squareup.picasso:picasso:2.5.2' 或者下載 jar包 三.完整項目1.iosche一句話介紹:谷歌2016開發(fā)者大會的展示項目 上榜理由:github上有13.4k個star,,位居企業(yè)級項目排行榜第一位,,牛逼的開發(fā)者,權(quán)威的設(shè)計模式,,標(biāo)準(zhǔn)的項目寫法,,值得一試;筆者建議初學(xué)者down下源碼,,找到app入口,,每個頁面走一通,配合設(shè)計模式的概念加深理解,。 github https://github.com/google/iosched 作者: Google
2.Plaid一句話介紹:提供設(shè)計新聞和靈感的開源app 上榜理由:標(biāo)準(zhǔn)的material design設(shè)計,,新聞類app,github上9k的star量值得你摒棄市面上參差不齊的新聞app,,快點下手研究它吧,! 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)簽屬性,,讓它在排行榜中獨一無二,,如果你對短信app有興趣,可以深入探究一番 github https://github.com/WhisperSystems/Signal-Android 作者:WhisperSystems 使用:github上down源碼
5.android-UniversalMusicPlayer一句話介紹:一款跨設(shè)備運行的多媒體app 上榜理由:googlesamples良心推薦,github擁有7.9k個star,,可以在Android手機(jī),,汽車,平板,,穿戴設(shè)備上使用,,對于僅僅體驗過Android手機(jī)開發(fā)的程序員,會不會很新奇呢,?你值得一試,! github https://github.com/googlesamples/android-UniversalMusicPlayer 作者:Google 使用:github上down源碼
6.HomeMirror一句話介紹:如果你是個愛美的家伙那么你一定需要這面鏡子! 上榜理由:工具類App很難再github上有一席之地,,除非它提供特別新奇的功能,,比如HomeMirror,github上有用7599個star,,僅僅因為它提供了鏡子的功能,。從現(xiàn)在起,Android 手機(jī),、pad,,都將成為你旅游居家神器,值得擁有,! github https://github.com/HannahMitt/HomeMirror 作者:Hannah Mittens HomeMirror初體驗:
7.ExoPlayer一句話介紹:一款 替代Android原生MediaPlayer的媒體播放器 上榜理由:也許是Google對自家MediaPlayer API不甚滿意,,所以誕生了ExoPlayer,ExoPlayer提供了強(qiáng)大的擴(kuò)展API,,使用它來制作多媒體播放器更快捷,,更容易擴(kuò)展,對多媒體播放器感興趣的同仁們可以用它來大展身手了,!6.9K個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è)計的展示性項目 上榜理由:作者被稱為是Android Support Lib背后的男人,他寫出的展示性項目,,怎能不推薦上榜,?材料設(shè)計已經(jīng)炒了好幾年了,但作為最權(quán)威的展示項目,,你一定需要它,,6.7個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平臺能力的框架 上榜理由:無論是你有接入facebook的需求,,還是有學(xué)習(xí)自制sdk的需求,,這都是很棒的途徑;如何開發(fā)一套企業(yè)級sdk,,是進(jìn)階優(yōu)秀開發(fā)工程師的必須之路,,4.1k個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è)級APP,每個頁面處理得都很棒,,如果你志在成為一個優(yōu)雅工程師,,這款開源項目一定適合你,3.8k個star證明了它不俗的生命力 github:https://github.com/kickstarter/android-oss 作者:kickstarter 使用; clone源碼到本地
12.k-9一句話介紹:Android端客戶端郵件App 上榜理由:還記得張小龍的成名作——FoxMail嗎,?如果你想做一款移動端Email App,,k-9具有很好的借鑒價值,此外對于應(yīng)用層協(xié)議你也會有更深的認(rèn)識 官網(wǎng)地址: https://k9mail./ github https://github.com/k9mail/k-9 使用: clone項目到本地
13.Timber一句話介紹:一款音樂播放器類App 上榜理由:3K個star,,完全按照材料設(shè)計規(guī)范,,提供十幾種播放特性,而且還提供App的通用設(shè)置能力,,這一點做的同樣優(yōu)秀,,對于志在提升開發(fā)技術(shù)的同學(xué)值得一試 github https://github.com/naman14/Timber 作者:Naman Dwivedi 使用: clone源碼是一個好習(xí)慣
14.remusic一句話介紹:仿網(wǎng)易云音樂Android版App 上榜理由:學(xué)習(xí)完Timer,是否還不太滿足你的胃口,?remusic可以滿足你的胃口——它甚至可以拿去直接當(dāng)上線項目了!2.9K個star,,基于Timber的設(shè)計(入手的前提是先搞懂Timber)值得入手,;有一個問題:如果由你重構(gòu),你會如何做呢,? github https://github.com/aa112901/remusic 作者:MW 使用: clone項目
15.Douya一句話介紹:開源豆瓣客戶端 上榜理由:一款功能全面,、架構(gòu)設(shè)計不俗的開源APP;僅僅是對豆瓣APP設(shè)計思路不滿而進(jìn)行的重構(gòu)項目,,可見作者對產(chǎn)品的癡迷和熱愛,,2.9K個star,證明該項目并不是頭腦發(fā)熱一時興起的作品,,如果每一個idea都能實現(xiàn),,那我們的世界將會多么美妙! github https://github.com/DreaminginCodeZH/Douya 作者:Zhang Hai 使用: clone項目到本地
16.BookReader一句話介紹:開源小說閱讀器 上榜理由:2.7K個star,榜單里第一款閱讀器APP,,具有很高的學(xué)習(xí)價值(針對有興趣往閱讀工具類方向發(fā)展的同學(xué)) github https://github.com/JustWayward/BookReader 作者:JustWayward 團(tuán)隊 使用: clone到本地
17.bilibili-android-client一句話介紹:高仿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到本地
18.AndroidChromium一句話介紹:Android版chrome瀏覽器 上榜理由:正如作者宣稱的那樣:
對于志在梳理瀏覽器框架的你,,值得擁有 github https://github.com/JackyAndroid/AndroidChromium 作者:JackYAndroid 使用: clone源碼到本地 四.開發(fā)框架:(排名無先后,、只按類型劃分)1.libgdx一句話介紹:一款跨平臺的android端游戲開發(fā)框架 上榜理由:android端開發(fā)框架類第一名,11.7K的star量,,游戲框架是它的專屬標(biāo)簽,,更重要的是它是跨平臺的 官網(wǎng)地址 http://libgdx./ github https://github.com/libgdx/libgdx 2.xUtils一句話介紹:老牌企業(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ìn)階為框架大師行列。雖然框架中很多引擎已經(jīng)過時,,各個模塊的做法都可以用其他框架替代,,但xUtils作為國內(nèi)開發(fā)者的驕傲,上古時期的框架寵兒,,值得你擁有,! github https://github.com/wyouflf/xUtils 作者:wyouflf 使用: compile 'org.xutils:xutils:3.5.0' 3.android-common一句話介紹: 一款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代碼到本地 4.Vitamio一句話介紹:一款支持跨平臺的Android多媒體開發(fā)框架 上榜理由:如果之前提到的exoplayer不能滿足你開發(fā)多媒體的需求,那我保證vitamio值得你一試 官網(wǎng)地址:https://www./ github https://github.com/yixia/VitamioBundle 作者:yixia團(tuán)隊 使用: clone源碼到本地
5.Weex一句話介紹:移動端跨平臺開發(fā)的解決方案 上榜理由:14.4K個star,,有成熟應(yīng)用案例的企業(yè)級混合開發(fā)框架,,阿里巴巴出品,為什么不試試呢,? 官網(wǎng)地址:https://weex./cn/ github https://github.com/alibaba/weex 作者:alibaba
6.cordova-android(Hybrid 開發(fā)框架,、WebApp開發(fā)框架)一句話介紹:跨平臺的開發(fā)框架 上榜理由:cordova有足夠的能力完成混合開發(fā)、WebApp開發(fā)的需求:不論你是Web開發(fā)者,,或者是Native開發(fā)者,,使用cordova都可以作出跨平臺的App 官網(wǎng)地址:http://cordova./docs/zh-cn/latest/guide/overview/index.html github https://github.com/apache/cordova-android
7.react-native一句話介紹:一款以Javascript的語言來操作多個系統(tǒng)語言(Ios、Android)的框架 上榜理由:很難講react-native屬于什么類別,,它適合前端工程師開發(fā)移動端App,,也適合Native開發(fā)者進(jìn)行跨平臺的開發(fā),但對于Navitve開發(fā)者來說陡峭的學(xué)習(xí)曲線會嚇走一大批“框架愛好者”,;前端界有一句名言:Web代表著未來,,Native代表著現(xiàn)在,而我們處在現(xiàn)在與未來的道路上,;49K個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個數(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í)未來的編程語言,,提升自己的工作效率,,早點下班打豆豆,,何樂而不為? 官網(wǎng)地址:http:/// github:https://github.com/JetBrains/kotlin 使用: http:///docs/reference/ 提供了 api-android用例-書籍等資源
六.書籍類項目(排序無先后)1.Android developer中國官網(wǎng)培訓(xùn)課程一句話介紹:符合中國國情的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 |
|