使用流行框架写android项目开篇
关于使用框架的一些争议
做为一名android开发者,如果你还在一直使用者最原始的android写一些项目,如同你不使用ssh而是全部用selevt和jsp去写j2ee。
使用框架有几点好处:
- 简化代码
- 增加代码的可维护性和鲁棒性
简化代码:这里要注意了简化代码,更多的是指简化代码的逻辑性而不是简化代码的数量,在一些小项目中使用框架反而会使项目的代码量增加,代码量的多少不影响什么,只要我们的思路顺,写代码飞快而且不容易出错,所以我们写代码的时候一定要注意代码的逻辑性。
增加代码可维护性和鲁棒性:一个好的框架肯定是经过千锤百炼的,经历过很多大型项目的考验,比起我们自己写的更加严谨,具有鲁棒性。
可能有人会说使用框架什么都学不到,根本都不了解怎么实现的。这其实是一个循序渐进的学习过程,一个初学者当然不建议直接入手框架,因为这可能导致基础的不扎实,但当你使用所有的基础知识完成一些简单项目后,就应该入手框架的学习的,你可以先去使用它,也可以先去理解它的内部实现,但二者一定都要经历。其中看框架源码,理解其内部实现将会让你学到很多知识,比如项目的架构设计,代码的规范性,如何进行通用性的设计。如果你一直不去接触框架,你不管基础有多扎实,也无法获得大得进步。因为你的学习是封闭的,而不是开放的。
当自己看过一些框架后,可以尝试着自己去写一个框架,框架的最大特点就是得有很好的通用性,所以在这个过程中,你会考虑到很多很多的问题。
所以大家不要抵触使用框架,而是在使用框架的同时要求看它的源码,理解其内部实现。
必须知道的android开源框架
- RxJava RxAndroid几乎是2015年最火的框架了
- Dagger2 最难学的android框架
- retrofit2 非常流行的网络请求框架
- 一些图片加载框架(Universal ImageLoader,Picsso,Glide)
- EventBus
android著名的框架有太多了,但这些是精品中的精品
接下来我会分章节,简单说下每个框架的使用,并附上一些资料,然后以github上的一个开源项目为例详细讲述mvp架构下Rxjava+Dagger+retrofit是如何搭配工作的,以后有时间的话会一一详解每个框架的内部实现。