从去年7月毕业参加工作到现在,移动开发之路已经有10个月,期间有解决各种bug的快感,也有为自己完成一个好的界面的自乐。但是最近发生的2件事使我思考了一个问题,而这个问题,现在我得到了一个稍微满意的答案,还需要实践以后再调整,在此,先记住自己的困惑以及给有同样困惑的小伙伴一个借鉴。
第一件事是公司开始划分产品线,我们的一部分移动开发的几个小伙伴要转到平台去。其实,我是有想要去平台的想法,因为心中觉得移动端总需要平台来喂数据,有一种缺了平台,移动端就是寸步难行的感觉。所以,心中还是羡慕平台的技术的,加上自己以后想要接几个小项目,那想法更加强烈了。
第二件事是最近论坛上公布了移动开发的工资调查报告,其中有些大牛能达到5w加的月薪。脑中就开始意淫,自己什么时候能达到咋么高工资。意淫之后,最后回归到了问题本质,移动开发者到底该怎么提高自己?
带了这个问题,第一个想到去百度,最后觉得有个答案不错。他们无论是移动开发还是平台开发,都离不开TCP/IP协议,还推荐了TCP/IP协议详解第一卷。也是也开始看起来,看的时候也能学到东西,但是仔细思考,这和移动开发技术还是不能产生关系。最后看了论坛的一遍文章关于IOS优化的,我瞬间感觉明白了点什么东西?
移动开发的最终目的是让用户体验好。而这些体验包括视觉效果和操作效果。其中视觉效果很大部分是UI设计好,移动端选择特定的方式来实现,然后在实现的时候,这里面就存在巨大的差异。比如有些实现方式可能消耗更少的CPU和内存(可以通过GPU来处理),也可以通过多线程处理。而这种差异往往能带来用户的潜在体验。另外在操作效果上面,移动开发者的任务除了保证功能完好,还要保证CPU和内存利用率最佳。此外,在程序构架方面又是一个区别开发者水平的方面。一个优秀的移动开发者,代码风格以及程序设计,必然会结构分明,容易修改和扩展。
因此,总结我以后移动开发的方向:让每个应用具有好的CPU和内存(多线程和图形操作)、高质量完成UI效果和阅读开源代码思考其中的程序框架以及适当阅读设计模式。