本文摘自同行說用戶“星星”分享的文章,原文鏈接:http://forum.memect.com/blog/thread/app-2016-02-25-3946526155290692/,如涉及版權(quán)問題請及時(shí)聯(lián)系小編!
關(guān)注簡書同行說賬號,加粉絲福利qq群420078331,不定期發(fā)送紅包哦!
前言
關(guān)于如何高效率開發(fā)App,開發(fā)前需要做哪些準(zhǔn)備呢?之前在知乎和segmentfault回到過類似的問題,在這里按劃分功能模塊---設(shè)計(jì)APP框架---APP質(zhì)量把關(guān)---內(nèi)測,正式發(fā)布的流程來總結(jié)。
1)功能模塊
網(wǎng)絡(luò)模塊
事件總線
依賴注入
圖片模塊
數(shù)據(jù)存儲(chǔ)
tray:支持多進(jìn)程的輕量級存儲(chǔ)
響應(yīng)式編程
日志輸出
JSON
XML
2)架構(gòu)設(shè)計(jì)
這個(gè)肯定得了解下MVC,MVP,MVVM還有設(shè)計(jì)模式這些,這里有幾個(gè)開源項(xiàng)目推薦下
Movie collection and information app for Android.
基于Material Design和MVP的新聞客戶端
A application show technical information every working days, use MVP pattern.
一款基于Google Material Design設(shè)計(jì)開發(fā)的Android客戶端
A concise APP about NBA News and Event with RxJava and EventBus
Material Design風(fēng)格的開源照片筆記。(MVP+Dagger2+RxJava+Dex分包異步加載)
gank.io unofficial client, RxJava & Retrofit
3)崩潰統(tǒng)計(jì)平臺(tái)
對APP崩潰統(tǒng)計(jì)是必須的啦,Crittercism和Crashlytics有時(shí)候需要梯子,你懂的。ACRA需要自己來搭建。
4)測試相關(guān)
支付寶Monkey老師推薦的測試社區(qū),里面有很多干貨
新一代的、專為移動(dòng)測試而生的缺陷發(fā)現(xiàn)及管理工具
免費(fèi)移動(dòng)App真機(jī)云測試平臺(tái)
網(wǎng)易出品的,是監(jiān)控指定被測應(yīng)用在使用過程中占用機(jī)器的CPU、內(nèi)存、流量資源的性能測試小工具。
騰訊出品的,對APP進(jìn)行快速的性能測試(CPU、內(nèi)存、流量、電量、幀率/流暢度等等)、開發(fā)日志的查看、Crash日志查看、 網(wǎng)絡(luò)數(shù)據(jù)包的抓取、APP內(nèi)部參數(shù)的調(diào)試、真機(jī)代碼耗時(shí)統(tǒng)計(jì)等
收集了不少測試用到的library.
5)APP內(nèi)測,分發(fā)
APP開發(fā)完成了,想通過鏈接方式發(fā)給別人使用測試,下面兩個(gè)平臺(tái)可以幫到你
6)其他
檢查內(nèi)存泄露,square出名,必屬精品
檢測UI卡頓, 阿里工程師出品
幫你快速的在debug版本分析,診斷問題
檢查ANR問題的利器
當(dāng)你用真機(jī)調(diào)試連不上Hierarchy Viewer,它可以幫助你完美解決問題
可在mac上對Android手機(jī)和智能手表進(jìn)行一鍵截屏、錄制視頻和安裝APK等操作
后話
雖然這些開源庫好用,能讓你快速的開發(fā)出一款A(yù)PP。但使用前最好要了它們存在的一些bug和坑,遇到問題可以給作者提issue,能摸索清楚原理更好了。還有就是不要過于追求開源庫,過多引入會(huì)導(dǎo)致你的代碼臃腫,更會(huì)造成65535方法數(shù)限制的問題,這時(shí)你得用Multidex來解決問題了,在這里可以查詢你apk的方法數(shù)apk-method-count。
團(tuán)隊(duì)開發(fā)了一款工程師、產(chǎn)品經(jīng)理、設(shè)計(jì)師必備神器【同行說】APP,找大牛、看最新最熱干貨,勾搭妹紙,快來同行說吧!
