2011年是移动互联网元年,明显感觉到整个行业在升温,很多企业都在招iOS开发工程师和Android开发工程师,而且开出的价码非常诱人。大量开发者蠢蠢欲动,打算放弃以前的软件开发或WEB开发,转向移动开发。可以理解,大家都是为了那诱人的薪金嘛。
然而移动开发并不是大家想象的那么容易,具体开发当中会面临很多困难,如果没有很好的心态,很容易在困难中受挫,甚至打退堂鼓,无功而返。
在大家进入这个行业之前,本人分享出一些自己的经验和感悟,希望对大家都有所帮助。
***:手机平台差异带来的麻烦
目前市场上的手机平台有iOS、Android、Symbian、WP7、Blackberry、Linux、MTK、BREW等,平台之间存在较大差异,开发语言和开发标准完全不同。
选择开发语言是摆在开发者面前的***道槛,手机端的开发语言来源于传统开发语言,但是由于手机终端与PC电脑软硬件环境的不同,导致学习和上手的周期会比较长。加上平台厂商之间互相博弈,未来市场格局无法确定,一旦开发者选择错了开发语言,那么再想转身,时间成本和机会成本都将非常高昂。
第二:环境配置和工具使用并非易事
目前网上针对不同手机平台的开发工具数目繁多,搭建相关开发环境也难住了很多人,而且部分手机平台开发环境对硬件有很高的要求,比如iOS,购置苹果电脑显然价格不菲,当然也可以在Windows环境下安装虚拟机,但是相关配置也是有点难度。
就算我们费尽千辛万苦搭建好了相关的开发环境,但想要得心应手的使用这个开发工具,对大部分人来说也是一件十分棘手的事情,打比方来说一个成熟的开发人员,如果想熟练使用一个新的开发工具最起码也要花费一两个月乃至更长的时间去研究和摸索。
第三:不同手机适配工作投入较大
移动开发的一个重要难题,就是应用在开发过程中,必须使用手机真实环境进行测试,才有可能进入商用。由于手机操作系统的不同,以及操作系统版本之间的差异,使得真机测试这个过程尤其复杂。
首先必须购买足够多的手机,包括不同操作系统,不同版本,不同分辨率,甚至不同厂商,这样算下来,仅是Android手机,就需要面对Android2.0、2.1、2.2、2.3四个版本,和320*480、480*800、三种分辨率,以及HTC、摩托、三星、LG、索爱、联想、魅族、中兴、华为等数十个厂商。一般至少需要20部以上手机,才能完成必要的适配工作。如果缺失这个真机测试环节,极大可能会给应用的推广和使用埋下了一个隐患,一旦出问题将直接招致用户的投诉或抛弃。
其次在拿到不同手机进行测试的时候,还将面临不同手机厂商的系统版本差异问题,KJava应用开发时,不同厂商之间的差异是巨大的,诺基亚、摩托、三星,各有标准,这让Kjava应用的适配工作变得非常繁琐,大大增加了开发周期和投入。即便是标准统一的Android系统,手机厂商的版本也并非完全相同,MIUI、LePhone、MEIZU,这些Android系统已经加入了很多个性化的东西,导致Android应用必须进行单独适配。这过程中出现的很多问题,往往没有资料可查,使开发者雪上加霜。
第四:项目掌控能力
项目经验不足是很多开发者转型到移动开发时面临的最尴尬问题。开发经验需要经历多个项目的积累,没有多少开发者能在实战项目开发当中,扮演超人的角色,一人包揽所有模块的开发。一个成熟的项目,必须组建一个开发团队,由多人分工协作才能很好完成。很多开发者在经历过几个项目的开发之后,其实仍然局限于掌握了部分模块的开发而已,无法掌握项目全局。面对外面诱人的高薪招聘,往往是心有余而力不足。
总之,开发者必须做好足够的心理准备,才可加入到移动开发行列中,这样才能更好的实现你的预期目标。