如何高效率开发Android的App

作者: lingdududu | 来源:发表于2016-01-24 12:26 被阅读904次

    前言

          关于如何高效率开发一个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开发的干货,并且会不定期更新哦。

    相关文章

      网友评论

      本文标题:如何高效率开发Android的App

      本文链接:https://www.haomeiwen.com/subject/wsatfttx.html