如何高效率開發Android的App

前言

? ? ? 關于如何高效率開發一個Android的App,需要做哪些準備呢?之前在知乎跟segmentfault回到過類似的問題,在這里補充和總結一下。廣東這幾天天氣這么冷,絲毫阻擋不了我第一次在簡書寫文章的熱情啊。


1)功能模塊

網絡模塊

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

數據庫模塊

1. greenDao:https://github.com/greenrobot/greenDAO

2. ormlite:https://github.com/j256/ormlite-android

3. LitePal:https://github.com/LitePalFramework/LitePal

響應式編程

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)測試相關

1. testerhome:https://testerhome.com/

支付寶Monkey老師推薦的測試社區,里面有很多干貨

2. bugtags:https://bugtags.com/

新一代的、專為移動測試而生的缺陷發現及管理工具

3. testin:http://www.testin.cn/

為移動測試而生

3. Emmagee:https://github.com/NetEase/Emmagee

網易出品的,是監控指定被測應用在使用過程中占用機器的CPU、內存、流量資源的性能測試小工具。

3. GT:https://github.com/TencentOpen/GT

騰訊出品的,對APP進行快速的性能測試(CPU、內存、流量、電量、幀率/流暢度等等)、開發日志的查看、Crash日志查看、網絡數據包的抓取、APP內部參數的調試、真機代碼耗時統計等

4. awesome-android-testing :https://github.com/hotchemi/awesome-android-testing

A curated list of awesome android testing libraries.


3)崩潰統計

開發過程中,對APP崩潰統計是必須的啦,Crittercism和Crashlytics有時候需要梯子,你懂的。

1. 騰訊bugly:http://bugly.qq.com/

2. Crittercism:https://app.crittercism.com/

3. Crashlytics:http://try.crashlytics.com/


4)架構設計

這個肯定得了解下MVC,MVP,MVVM還有設計模式這些,這里有幾個開源項目推薦下

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

檢查內存泄露

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內測,分發

APP開發完成了,想通過鏈接方式發給別人使用測試,下面兩個平臺可以幫到你

1. FIR.im:http://fir.im/

2. 蒲公英:http://www.pgyer.com/


后話

? ? ? ?雖然這些開源庫好用,能讓你快速的開發出一款APP。但使用前最好要了它們存在的一些bug和坑,遇到問題可以給作者提issue,能摸索清楚原理更好了。還有就是不要過于追求開源庫,過多引入會導致你的代碼臃腫,更會造成65535方法數限制的問題。

?另外打個小廣告,推薦下自己的:Android-Dev-Favorites:https://github.com/ruijun/Android-Dev-Favorites,里面收集了Android開發的干貨,并且會不定期更新哦。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容