如何更好地开发一个Android应用
Android应用,虽然有IOS但是国内大部分人仍在使用Android系统软件,Android软件开发依然任重道远,那么如何更好更有效率的开发一款Android应用软件呢?下面我简单介绍一下Android应用软件开发。
下面列举几个方面我所了解的解决方案:
1.1. 基本
搭架子 – 1. 目前以多Tab + Fragment为主,已成型; 2. 项目结构
异步加载图片 – UIL,Glide
网络请求 – robospice + google http client
Json – jackson2
缓存机制 – robospice
自动更新 – lesscode
事件通信 – event bus, otto
数据库 – litepal
内存检测 – leakcanary
其他各种UI和功能类库
1.2. 服务
统计服务 – 友盟、百度
云存储服务 – 七牛
推送服务 – 极光,个推,小米
支付服务 – 支付宝、微信、银联、连连支付、现在支付、充话费、语音支付等
分享 – share sdk
第三方登录 – 各大开放平台sdk
1.3. 工程
多渠道打包 – gradle flavor
持续集成 – jenkins
APK瘦身 – Proguard, AndResGuard, webp等
2. 持续优化的重要性
把一个项目做到可以满足需求的基本运行,对于开发者开说,说明你成功了,但是只是第一阶段的成功:实现。
接下来你要面临的问题,很有可能会是一大波新的变化需求,代码混乱,性能低下,错误异常率下不来等等,这就需要:优化,并且是持续的优化。
持续的优化,不仅能解决很多问题,而且能保证代码有效健壮的发展,这对开发者来说,尤为重要,谁都喜欢写更好的代码,都不喜欢改那些乱到掉渣的代码。
做项目评估的时候,考虑一下基本优化的工作量;迭代版本的时候,留一定的持续优化的工作量。
3. 困难挫折警示
经常碰到困难,经常被技术问题卡住,经常粗心大意 … …
说明什么?
要么太没经验,要么能力不足。
我们可以从多个方面着手拓展技术视野、提高动手能力、优化放错机制等等:
关注社区动向
官方资讯,github, 技术博客,视频… …
勤于实践
把别人的一些好的经验或者效果,动手实现,转化为自己的经验,甚至进一步升华成更好的成果。
多参与项目
珍惜参加项目的机会,多参与,用行动改进,不做旁观者。
善假于物
多学习一些工具git,linux,python,tcpdump等等,用的比较多的,最好能吃透一点,小工具,大用处。
细节决定成败
成也细节,败也细节。会区分同类的不同点,能从小的地方改进,遇到困难沉着应付一个一个的攻克细节…
小结
两个字:落实!
这里要提到迭代开发和技术能力问题,迭代开发更多的是项目经理要负责的事情,包括定义定义Android应用软件的大版本和小版本,每日会议,把握节奏等。技术能力就是讲的员工的开发能力,毫不含糊的一项指标。
下面列举几个方面我所了解的解决方案:
1.1. 基本
搭架子 – 1. 目前以多Tab + Fragment为主,已成型; 2. 项目结构
异步加载图片 – UIL,Glide
网络请求 – robospice + google http client
Json – jackson2
缓存机制 – robospice
自动更新 – lesscode
事件通信 – event bus, otto
数据库 – litepal
内存检测 – leakcanary
其他各种UI和功能类库
1.2. 服务
统计服务 – 友盟、百度
云存储服务 – 七牛
推送服务 – 极光,个推,小米
支付服务 – 支付宝、微信、银联、连连支付、现在支付、充话费、语音支付等
分享 – share sdk
第三方登录 – 各大开放平台sdk
1.3. 工程
多渠道打包 – gradle flavor
持续集成 – jenkins
APK瘦身 – Proguard, AndResGuard, webp等
2. 持续优化的重要性
把一个项目做到可以满足需求的基本运行,对于开发者开说,说明你成功了,但是只是第一阶段的成功:实现。
接下来你要面临的问题,很有可能会是一大波新的变化需求,代码混乱,性能低下,错误异常率下不来等等,这就需要:优化,并且是持续的优化。
持续的优化,不仅能解决很多问题,而且能保证代码有效健壮的发展,这对开发者来说,尤为重要,谁都喜欢写更好的代码,都不喜欢改那些乱到掉渣的代码。
做项目评估的时候,考虑一下基本优化的工作量;迭代版本的时候,留一定的持续优化的工作量。
3. 困难挫折警示
经常碰到困难,经常被技术问题卡住,经常粗心大意 … …
说明什么?
要么太没经验,要么能力不足。
我们可以从多个方面着手拓展技术视野、提高动手能力、优化放错机制等等:
关注社区动向
官方资讯,github, 技术博客,视频… …
勤于实践
把别人的一些好的经验或者效果,动手实现,转化为自己的经验,甚至进一步升华成更好的成果。
多参与项目
珍惜参加项目的机会,多参与,用行动改进,不做旁观者。
善假于物
多学习一些工具git,linux,python,tcpdump等等,用的比较多的,最好能吃透一点,小工具,大用处。
细节决定成败
成也细节,败也细节。会区分同类的不同点,能从小的地方改进,遇到困难沉着应付一个一个的攻克细节…
小结
两个字:落实!