1、热更新/热替换
场景:
在实际开发中,我们会遇到app上线了,没几天出现了crash的bug,这种情形下,我们不可能重新发app,除非是非常非常严重的,这种场景下,hotfix技术就非常有用了!
参考技术:
https://github.com/singwhatiwanna/dynamic-load-apk
https://github.com/alibaba/AndFix
https://github.com/CtripMobile/DynamicAPK
https://github.com/bunnyblue/DroidFix
https://github.com/jasonross/Nuwa
2、快速批量打包--done
场景:
发更新包,突然有个地方要改,改完需要重新打包,如果再等待一个小时,肯定令人发指
3、JS协助的H5开发
场景:
有些需求非常紧急或者变化非常频繁,就需要H5支持
参考技术:
https://github.com/facebook/react-native
4、apk的瘦身--doing
场景:
随着业务的深入,代码量急速增加,且有很多未使用的代码未移除,还有一些不适用的图片,导致apk不断变大
参考技术:
http://zhuanlan.zhihu.com/zmywly8866/20006066– 内含一些推荐文章
5、代码分层
场景:
随着业务的增加,代码量急速增加,原先的类中代码不断增长,逻辑开始变负责,导致维护性变差
参考技术:
java服务端的分层
android的mvp
android的mvvm
6、app质量监控--doing
场景:
业务初期,我们都忙着开发新需求,忽视了app的质量问题。更多的时候,我们只关注能用就行。现在人员配备
逐步完善,我们要开始逐步重视质量
措施:
加强代码检测,团队内开始推广使用android studio的lint功能
加强线上crash的统计与修复
加强线上exception的统计与汇总
加强开发时的自测
团队内,逐步开始code review
7、kotlin语言--android世界的Swift
场景:
原生java语言开发被人诟病许久,groovy和clojure在android上的进展缓慢,kotlin的出现,社区比较火,而且
有jetbrains公司的支持,IDE上支持很方便,后续可以期待
8、RxJava函数响应式编程
场景:
现有异步代码编写和维护的时候,发现异步代码理解起来不如同步代码好理解,因为同步代码代码都在一起的,异步代码
不在一起,不好找。RxJava的使用,就能解决这个问题
参考文献:
http://blog.csdn.net/lzyzsd/article/details/41833541– 大头鬼的RxJava介绍
http://gank.io/post/560e15be2dca930e00da1083--抛物线的RxJava介绍
9、增量更新
场景:
每次用户更新都是下载一个完整的apk,费流量
参考文献:
http://blog.csdn.net/hmg25/article/details/8100896
10、sdk工作--doing
场景:
现在我们有两个app项目,发现两个项目代码有冗余,主要是非业务代码的重复。这个时候,我们需要提取sdk,给两个项目用,
同时为后续新开项目做准备,当然,也为公司做一些技术积累