这几天终于闲下来了,想对项目开发做一些简单的总结。案场是一款面向房地产企业的app应用,简单的来说类似于移动办公的app。就项目技术而言,还是比较简单的,业务相对复杂一点,操作起来也相对复杂一点,当然用户体验很多时候是产品设计的时候定下来的,这里就不说了。
android版本,除了当时我选择了一些基础代码库之后,我基本没怎么参与。没有参与有很多种原因:
1、自己有过4-5年的android经验,历史经验告诉我,不难只是工作量大。
2、iOS开发存在很多未知问题,我需要花多时间去探讨。
3、第一周我看android开发的小伙子写的代码,代码质量不错,效率也比较高,责任心比较强,很放心。
在android版本开发的过程里面,我只是偶尔会review一下代码,看到有问题的回去修改或者提醒修改。到项目的后期,我回头看android代码的时候,感觉会比我自己写得要好,起码比较规范,无论是activity还是fragment都是固定的模版,对接受项目者还是比较友好的。当然开发过程还是存在一点点问题的,就是没有提前做好规划,导致后面加Loader,下拉刷新很乱。如果当初规划好一点,后面的工作会更加顺利和舒心。
android开发的前期工作,我还是做了很多东西的,封装网络的基础库,例如基于OKhttp的Volley,session会话的保存,还有基于gosn网络库的封装。这次尝试了新的东西,把所有接口都写在一个文件上面,方便管理。但是后来发现,这样搞法哪个文件的代码量会很多,阅读起来会比较累人。后来看了看clean架构,感觉会比较清晰,下次有项目再用。本来计划在这个项目要用rxandroid的,由于开发人员对它不熟悉,最后也没用上,还是老模式的MVC,但是下次还是希望放弃EventBus改用Rxbus。
对于iOS版,基础库还是我搭建的,只是大部分有不是我做的,在以往的开发中,都是纯代码开发,但是在这个项目中,我选择了storyboard+Autolayout,在开发的过程的确踩了很多坑,但是我不后悔这样的选择,有时候有些经历是无价的,我知道很多大公司都选择了很成熟的方案,例如微信QQ,基本都是纯代码写的。storyboard是苹果推荐的,苹果最终的目的是让UI设计去布局,程序员只关心业务逻辑,但是国内适合没那么受欢迎。storyboard非常方便人熟悉项目框架流程,但是编译慢,多人协作麻烦。说到多人协作,整一个xcode都不是特别人性化,多人提交的时候很容易产生冲突,特在是SVN上。
踩过很多坑,让我了解了很多东西,经过这个项目起码对Autolayout,RAC是比较了解了。我不想去简单的评价对和错,方案通常是需求决定的,storyboard对个人开发是友好的,但是对团队开发需要拆分多个,而且尽可能简单。对于纯代码,看起来很凌乱,对于新人需要配备ViewController 跳转图才容易熟悉代码。当你熟悉storyboard的时候,你会发现开发mac os x的程序也同样适用,而且快速入门。
去年11月开始,我一直关注着iOS开发,也是从自身发展来看的,我需要多几个项目来完善自己知识体系。经过这个项目,学习到了很多东西,一部分是在别人博客的是看到的,一部分是自己尝试出来的,还有一部分是和别人交流出来的,不管从哪里来的,对自己都是一种很好的经历。项目后期我想了很多关于框架的问题,关于很多安全的问题,关于很多底层的问题,对runtime,runloop,多线程有了更多体会。
对于技术,我个人还是喜欢找些新东西去折腾,哪怕过程有点坎坷,但是只有心临其境才能真切的感知那些不曾想过的问题,解决哪些不曾想过的问题。任何一个方案都是有适用范围的,不可能是万金油。有些人可能在大公司呆过,看过很多有经验的文章,可以很轻松的做出选择,但是对于没有这样经历的人,只能靠自己尝试了。
网友评论