前言
? ? ? 關(guān)于如何高效率開發(fā)一個Android的App,需要做哪些準(zhǔn)備呢隘截?之前在知乎跟segmentfault回到過類似的問題铲咨,在這里補(bǔ)充和總結(jié)一下。廣東這幾天天氣這么冷蒜鸡,絲毫阻擋不了我第一次在簡書寫文章的熱情啊胯努。
1)功能模塊
網(wǎng)絡(luò)模塊
1. okhttp : https://github.com/square/okhttp
2. android-async-http:https://github.com/loopj/android-async-http
3. volley:https://developer.android.com/intl/ja/training/volley/index.html
事件總線
1. otto:https://github.com/square/otto
2. EventBus:https://github.com/greenrobot/EventBus
依賴注入
1. Dagger: https://github.com/square/dagger
2. RoboGuice:https://github.com/roboguice/roboguice
3. ButterKnife: https://github.com/JakeWharton/butterknife
圖片模塊
1. Fresco:https://github.com/facebook/fresco
2. Glide:https://github.com/bumptech/glide
3. picasso:https://github.com/square/picasso
數(shù)據(jù)庫模塊
1. greenDao:https://github.com/greenrobot/greenDAO
2. ormlite:https://github.com/j256/ormlite-android
3. LitePal:https://github.com/LitePalFramework/LitePal
響應(yīng)式編程
1. RxJava:https://github.com/ReactiveX/RxJava
2. RxAndroid:https://github.com/ReactiveX/RxAndroid
日志輸出
1. logger:https://github.com/orhanobut/logger
2. android-CLog:https://github.com/liaohuqiu/android-CLog
3. KLog:https://github.com/ZhaoKaiQiang/KLog
JSON解析
1. fastjson : https://github.com/alibaba/fastjson
2. gson: https://github.com/google/gson
3. jackson:https://github.com/FasterXML/jackson
2)測試相關(guān)
1. testerhome:https://testerhome.com/
支付寶Monkey老師推薦的測試社區(qū),里面有很多干貨
2. bugtags:https://bugtags.com/
新一代的逢防、專為移動測試而生的缺陷發(fā)現(xiàn)及管理工具
3. testin:http://www.testin.cn/
為移動測試而生
3. Emmagee:https://github.com/NetEase/Emmagee
網(wǎng)易出品的叶沛,是監(jiān)控指定被測應(yīng)用在使用過程中占用機(jī)器的CPU、內(nèi)存忘朝、流量資源的性能測試小工具灰署。
3. GT:https://github.com/TencentOpen/GT
騰訊出品的,對APP進(jìn)行快速的性能測試(CPU局嘁、內(nèi)存溉箕、流量、電量悦昵、幀率/流暢度等等)肴茄、開發(fā)日志的查看、Crash日志查看但指、網(wǎng)絡(luò)數(shù)據(jù)包的抓取寡痰、APP內(nèi)部參數(shù)的調(diào)試抗楔、真機(jī)代碼耗時統(tǒng)計等
4. awesome-android-testing :https://github.com/hotchemi/awesome-android-testing
A curated list of awesome android testing libraries.
3)崩潰統(tǒng)計
開發(fā)過程中,對APP崩潰統(tǒng)計是必須的啦氓癌,Crittercism和Crashlytics有時候需要梯子谓谦,你懂的。
1. 騰訊bugly:http://bugly.qq.com/
2. Crittercism:https://app.crittercism.com/
3. Crashlytics:http://try.crashlytics.com/
4)架構(gòu)設(shè)計
這個肯定得了解下MVC贪婉,MVP反粥,MVVM還有設(shè)計模式這些,這里有幾個開源項目推薦下
philm
Movie collection and information app for Android.
Github地址:https://github.com/chrisbanes/philm
SimpleNews
基于Material Design和MVP的新聞客戶端
Github地址:https://github.com/liuling07/SimpleNews
GankDaily
A application show technical information every working days, use MVP pattern.
Github地址:https://github.com/maoruibin/GankDaily
SimplifyReader
Github地址:https://github.com/SkillCollege/SimplifyReader
NBAPlus
Github地址:https://github.com/SilenceDut/NBAPlus
PhotoNoter
Github地址:https://github.com/yydcdut/PhotoNoter
Meizhi
Github地址:https://github.com/drakeet/Meizhi
5)其他
leakcanary
檢查內(nèi)存泄露
Github地址:https://github.com/square/leakcanary
DebugDrawer
Android Debug Drawer for faster development
Github地址:https://github.com/palaima/DebugDrawer
ViewServer
Local server for Android's HierarchyViewer
Github地址:https://github.com/romainguy/ViewServer
blockcanary
檢測UI卡頓疲迂, 阿里工程師出品
Github地址:https://github.com/moduth/blockcanary
6)APP內(nèi)測才顿,分發(fā)
APP開發(fā)完成了,想通過鏈接方式發(fā)給別人使用測試尤蒿,下面兩個平臺可以幫到你
1. FIR.im:http://fir.im/
2. 蒲公英:http://www.pgyer.com/
后話
? ? ? ?雖然這些開源庫好用郑气,能讓你快速的開發(fā)出一款A(yù)PP。但使用前最好要了它們存在的一些bug和坑腰池,遇到問題可以給作者提issue尾组,能摸索清楚原理更好了。還有就是不要過于追求開源庫示弓,過多引入會導(dǎo)致你的代碼臃腫讳侨,更會造成65535方法數(shù)限制的問題。
?另外打個小廣告奏属,推薦下自己的:Android-Dev-Favorites:https://github.com/ruijun/Android-Dev-Favorites跨跨,里面收集了Android開發(fā)的干貨,并且會不定期更新哦囱皿。