來(lái)自開(kāi)發(fā)者的心聲:移動(dòng)開(kāi)發(fā)困難重重
2011年是移動(dòng)互聯(lián)網(wǎng)元年,明顯感覺(jué)到整個(gè)行業(yè)在升溫,很多企業(yè)都在招iOS開(kāi)發(fā)工程師和Android開(kāi)發(fā)工程師,而且開(kāi)出的價(jià)碼非常誘人。大量開(kāi)發(fā)者蠢蠢欲動(dòng),打算放棄以前的軟件開(kāi)發(fā)或WEB開(kāi)發(fā),轉(zhuǎn)向移動(dòng)開(kāi)發(fā)。可以理解,大家都是為了那誘人的薪金嘛。
然而移動(dòng)開(kāi)發(fā)并不是大家想象的那么容易,具體開(kāi)發(fā)當(dāng)中會(huì)面臨很多困難,如果沒(méi)有很好的心態(tài),很容易在困難中受挫,甚至打退堂鼓,無(wú)功而返。
在大家進(jìn)入這個(gè)行業(yè)之前,本人分享出一些自己的經(jīng)驗(yàn)和感悟,希望對(duì)大家都有所幫助。
***:手機(jī)平臺(tái)差異帶來(lái)的麻煩
目前市場(chǎng)上的手機(jī)平臺(tái)有iOS、Android、Symbian、WP7、Blackberry、Linux、MTK、BREW等,平臺(tái)之間存在較大差異,開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)標(biāo)準(zhǔn)完全不同。
選擇開(kāi)發(fā)語(yǔ)言是擺在開(kāi)發(fā)者面前的***道檻,手機(jī)端的開(kāi)發(fā)語(yǔ)言來(lái)源于傳統(tǒng)開(kāi)發(fā)語(yǔ)言,但是由于手機(jī)終端與PC電腦軟硬件環(huán)境的不同,導(dǎo)致學(xué)習(xí)和上手的周期會(huì)比較長(zhǎng)。加上平臺(tái)廠商之間互相博弈,未來(lái)市場(chǎng)格局無(wú)法確定,一旦開(kāi)發(fā)者選擇錯(cuò)了開(kāi)發(fā)語(yǔ)言,那么再想轉(zhuǎn)身,時(shí)間成本和機(jī)會(huì)成本都將非常高昂。
第二:環(huán)境配置和工具使用并非易事
目前網(wǎng)上針對(duì)不同手機(jī)平臺(tái)的開(kāi)發(fā)工具數(shù)目繁多,搭建相關(guān)開(kāi)發(fā)環(huán)境也難住了很多人,而且部分手機(jī)平臺(tái)開(kāi)發(fā)環(huán)境對(duì)硬件有很高的要求,比如iOS,購(gòu)置蘋果電腦顯然價(jià)格不菲,當(dāng)然也可以在Windows環(huán)境下安裝虛擬機(jī),但是相關(guān)配置也是有點(diǎn)難度。
就算我們費(fèi)盡千辛萬(wàn)苦搭建好了相關(guān)的開(kāi)發(fā)環(huán)境,但想要得心應(yīng)手的使用這個(gè)開(kāi)發(fā)工具,對(duì)大部分人來(lái)說(shuō)也是一件十分棘手的事情,打比方來(lái)說(shuō)一個(gè)成熟的開(kāi)發(fā)人員,如果想熟練使用一個(gè)新的開(kāi)發(fā)工具最起碼也要花費(fèi)一兩個(gè)月乃至更長(zhǎng)的時(shí)間去研究和摸索。
第三:不同手機(jī)適配工作投入較大
移動(dòng)開(kāi)發(fā)的一個(gè)重要難題,就是應(yīng)用在開(kāi)發(fā)過(guò)程中,必須使用手機(jī)真實(shí)環(huán)境進(jìn)行測(cè)試,才有可能進(jìn)入商用。由于手機(jī)操作系統(tǒng)的不同,以及操作系統(tǒng)版本之間的差異,使得真機(jī)測(cè)試這個(gè)過(guò)程尤其復(fù)雜。
首先必須購(gòu)買足夠多的手機(jī),包括不同操作系統(tǒng),不同版本,不同分辨率,甚至不同廠商,這樣算下來(lái),僅是Android手機(jī),就需要面對(duì)Android2.0、2.1、2.2、2.3四個(gè)版本,和320*480、480*800、三種分辨率,以及HTC、摩托、三星、LG、索愛(ài)、聯(lián)想、魅族、中興、華為等數(shù)十個(gè)廠商。一般至少需要20部以上手機(jī),才能完成必要的適配工作。如果缺失這個(gè)真機(jī)測(cè)試環(huán)節(jié),極大可能會(huì)給應(yīng)用的推廣和使用埋下了一個(gè)隱患,一旦出問(wèn)題將直接招致用戶的投訴或拋棄。
其次在拿到不同手機(jī)進(jìn)行測(cè)試的時(shí)候,還將面臨不同手機(jī)廠商的系統(tǒng)版本差異問(wèn)題,KJava應(yīng)用開(kāi)發(fā)時(shí),不同廠商之間的差異是巨大的,諾基亞、摩托、三星,各有標(biāo)準(zhǔn),這讓Kjava應(yīng)用的適配工作變得非常繁瑣,大大增加了開(kāi)發(fā)周期和投入。即便是標(biāo)準(zhǔn)統(tǒng)一的Android系統(tǒng),手機(jī)廠商的版本也并非完全相同,MIUI、LePhone、MEIZU,這些Android系統(tǒng)已經(jīng)加入了很多個(gè)性化的東西,導(dǎo)致Android應(yīng)用必須進(jìn)行單獨(dú)適配。這過(guò)程中出現(xiàn)的很多問(wèn)題,往往沒(méi)有資料可查,使開(kāi)發(fā)者雪上加霜。
第四:項(xiàng)目掌控能力
項(xiàng)目經(jīng)驗(yàn)不足是很多開(kāi)發(fā)者轉(zhuǎn)型到移動(dòng)開(kāi)發(fā)時(shí)面臨的最尷尬問(wèn)題。開(kāi)發(fā)經(jīng)驗(yàn)需要經(jīng)歷多個(gè)項(xiàng)目的積累,沒(méi)有多少開(kāi)發(fā)者能在實(shí)戰(zhàn)項(xiàng)目開(kāi)發(fā)當(dāng)中,扮演超人的角色,一人包攬所有模塊的開(kāi)發(fā)。一個(gè)成熟的項(xiàng)目,必須組建一個(gè)開(kāi)發(fā)團(tuán)隊(duì),由多人分工協(xié)作才能很好完成。很多開(kāi)發(fā)者在經(jīng)歷過(guò)幾個(gè)項(xiàng)目的開(kāi)發(fā)之后,其實(shí)仍然局限于掌握了部分模塊的開(kāi)發(fā)而已,無(wú)法掌握項(xiàng)目全局。面對(duì)外面誘人的高薪招聘,往往是心有余而力不足。
總之,開(kāi)發(fā)者必須做好足夠的心理準(zhǔn)備,才可加入到移動(dòng)開(kāi)發(fā)行列中,這樣才能更好的實(shí)現(xiàn)你的預(yù)期目標(biāo)。