原创作品,转载请注明出处http://blog.youkuaiyun.com/baodinglaolang/article/details/9530695
说起敏捷开发,大家或多或少会有些印象。而在android上的敏捷开发可能还并未普及。
博主将与大家共同讨论一起交流android上的敏捷开发、框架搭建等知识。
本博将通过 讲解敏捷开发概念->敏捷开发架构思想->开发环境搭建->项目源码敏捷开发构建、拆分 等逐步带您走进android敏捷开发的世界。
学敏捷开发,开启 架构师之路..(夸张了呵呵,其实没有,这是基础)
注:本系列基于 maven、nexus、hudson、git等工具实现。
首先让我们了解一下什么是敏捷开发。
什么是敏捷开发
简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
--摘自百度百科
博主认为其核心是:原子+稳定+复用=敏捷开发。拿实际项目来说,稍大一点的项目可能涉及到多种功能与多种发行版本。
以下可能是您的现状:
1.所有源码在一个工程,臃肿庞大,命名各异
2.每次都为分布在各地的工具方法而整篇的查找项目源码
2.为客户BT的需求一遍又一遍的拆分、整合那些固化功能
3.为新的产品开发copy旧的代码无限复制粘贴
4.在旧版本fix bug后呆呆的把变更一遍又一遍的在高版本上修复(也许还忘记修复)
5.浪费大量的时间在每次编译整个项目上(编译整体项目可能需要数分钟,而编译单模块也许只需要数十秒)
6.com.xxx.xxx.A.java,这TM到底是那个功能的类(挨个问同事吧)
7.不知到如何提升自己
如果您有以上困扰,很好,因为春天很快就要到了,因为我们有敏捷开发。
敏捷开发带给我们什么
1.清晰框架结构
2.高度复用接口
3.灵活的模块组合
4.高速稳定的产品迭代
5.UI与逻辑的解藕
6.低廉的维护成本
举例来说:
某网聊软件(可想像成微信)中功能包括
1.文字、语音通讯
2.联系人管理
3.朋友圈
4.摇一摇
5. ....
多个功能在项目中很容易分成多个模块来交给工程师实现,普通的工作方法我们不再赘述,试想一下,如果这每个功能看作一个模块,每个模块可独立运行并且可以被任意项目集成,那么,也许公司的音乐播放器项目加入朋友圈说不定也不错呢,而这一切只需要配置一些xml而已。
敏捷开发设计到的很多,为了让大家从概念到操作了解清晰,请关注博主第二篇《项目敏捷开发架构图》
传送门