Android開發(fā)職業(yè)規(guī)劃問與答 為開發(fā)者解憂
掃描二維碼
隨時(shí)隨地手機(jī)看文章
關(guān)于Android
相信大家對(duì)Android的發(fā)展歷史多少都有一些了解, Android曾經(jīng)是一家創(chuàng)立于舊金山的公司的名字,該公司于2005年8月份被Google收購,并從此踏上了飛速發(fā)展的道路。經(jīng)過這幾年的發(fā)展,它已經(jīng)發(fā)展成了一個(gè)平臺(tái)、一個(gè)生態(tài)體系?,F(xiàn)在Android在移動(dòng)領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用。根據(jù)Google于2011年6月份公布的數(shù)字,現(xiàn)在每天激活的Android設(shè)備高達(dá)50萬臺(tái),比5月份的數(shù)據(jù)增加了10萬臺(tái)!Google還透露目前已經(jīng)與36家OEM廠商和215家運(yùn)營商合作,共激活了超過1億臺(tái)Android設(shè)備。
相比于Symbian的日落西山,以及蘋果的封閉、Windows Phone的前途未卜,Android無疑代表了當(dāng)前行業(yè)發(fā)展的主流趨勢(shì):開放平臺(tái)取代了封閉平臺(tái)。讓參與者均能通過自己的努力而獲益。
從2008年9月公布1.0版本以來,經(jīng)過近三年的跨越式發(fā)展,現(xiàn)在Android已經(jīng)發(fā)展到了3.x版本,這是一個(gè)針對(duì)平板電腦而做了大量優(yōu)化的版本,包括對(duì)更大屏幕的支持的類庫、多任務(wù)優(yōu)化等。目前市場上占主流的還是2.2版本,當(dāng)然,相信隨著時(shí)間的推移,2.3及后續(xù)版本會(huì)得到越來越多的設(shè)備的支持。
學(xué)習(xí)Android有前途么?
由于Android是近幾年才開始起步的,所以有很多朋友在關(guān)注華清遠(yuǎn)見3G Android系統(tǒng)開發(fā)課程時(shí),也總是會(huì)有這樣的疑問。我一直跟帶著這種疑問的朋友說,回答這個(gè)問題,有幾個(gè)關(guān)鍵點(diǎn):第一、這個(gè)市場是否足夠大(或者能發(fā)展到足夠大),這點(diǎn)我相信大家對(duì)于移動(dòng)設(shè)備的現(xiàn)狀有足夠的了解,對(duì)其未來的發(fā)展不會(huì)有什么異議;其次是你所從事的領(lǐng)域是否處于上升通道上?身處一個(gè)上升的通道,個(gè)人只要付出一定的努力,這個(gè)行業(yè)都會(huì)帶著你往上走,相反,如果處于一個(gè)沒落的行業(yè),個(gè)人再努力,可能都趕不上整個(gè)行業(yè)墜落的速度。Android這幾年的發(fā)展可謂有目共睹,就像前面所說,每天的設(shè)備激活數(shù)目就達(dá)到了50萬臺(tái);其三,是否有足夠多的大公司參與其中,或者是否成就了一些公司。行業(yè)的發(fā)展,離不開業(yè)內(nèi)大公司的支持,或者,是否有公司在該領(lǐng)域得到了長足的發(fā)展。處于這個(gè)行業(yè)的大公司,除了Google本身外,也成就了一些公司,例如Motorola移動(dòng)、HTC,前者借Android咸魚翻身,后者借Android成了市值超越Nokia的公司。行業(yè)的發(fā)展如此紅火,那么作為開發(fā)者,是否可以從中獲益呢?我們可以從“Android工程師一年經(jīng)驗(yàn)月薪8000元:http://www.3g-edu.org/news/3G-45.htm”這則新聞來看這個(gè)行業(yè)的開發(fā)者的情況,由此可以看出,這個(gè)行業(yè)的從業(yè)人員現(xiàn)在有多搶手。
目前國內(nèi)Android開發(fā)行業(yè)市場現(xiàn)狀如何?
目前國內(nèi)的Android開發(fā)還是主要以應(yīng)用開發(fā)為主,主要分成3類:為企業(yè)開發(fā)應(yīng)用、開發(fā)通用應(yīng)用(放到Android Market或者其他App Market銷售)以及游戲開發(fā)(放到Android Market或者其他App Market銷售)。第一類開發(fā)者一般身處規(guī)模較大的公司,這些公司主要為自有品牌或者其他品牌設(shè)計(jì)手機(jī)或者平板電腦的總體方案。除了根據(jù)需求對(duì)系統(tǒng)進(jìn)行定制外,更多的工作在于為這些系統(tǒng)編寫定制的應(yīng)用。第二類開發(fā)者,一般處于創(chuàng)業(yè)型公司或者是獨(dú)立開發(fā)者,他們的盈利方式主要是2種:為國外公司進(jìn)行外包開發(fā),或者通過Google的移動(dòng)廣告(AdMob)通過廣告點(diǎn)擊分成。而理論上的通過付費(fèi)下載的形式來盈利的,現(xiàn)在國內(nèi)鮮見成功者。第三類開發(fā)者,目前和第二類開發(fā)者類似。下圖是開發(fā)者提交的應(yīng)用和游戲的數(shù)目所占的比例圖,從中也可以看出應(yīng)用開發(fā)數(shù)目遠(yuǎn)超游戲開發(fā)。(數(shù)據(jù)來源:創(chuàng)新工廠)
什么樣的人可以學(xué)Android?
相對(duì)于其他移動(dòng)開發(fā)平臺(tái),因?yàn)锳ndroid的(應(yīng)用)開發(fā)采用了Java語言,所以,它的學(xué)習(xí)曲線相對(duì)比較平緩。對(duì)于那些有一些編程語言(如C/C++/Java等)訓(xùn)練的學(xué)生,都可以考慮學(xué)習(xí)Android應(yīng)用開發(fā)。當(dāng)然,如果你希望從事Android游戲開發(fā),那么,最好能在高數(shù)、離散數(shù)學(xué)甚至計(jì)算機(jī)圖形學(xué)等方面有比較扎實(shí)的基礎(chǔ)。如果后續(xù)想往底層開發(fā)如系統(tǒng)移植、驅(qū)動(dòng)開發(fā)等方向發(fā)展,或者為了更好地理解Android 應(yīng)用架構(gòu)體系,那么,具備一定的操作系統(tǒng)知識(shí)是必要的,當(dāng)然,并不需要你對(duì)操作系統(tǒng)有多精通,而是對(duì)其基本原理有一定了解即可。
如何學(xué)習(xí)Android開發(fā)?
上面是Android的體系架構(gòu)圖,自上而下分別為應(yīng)用層、應(yīng)用框架、類庫和Alvik運(yùn)行時(shí)環(huán)境以及Linux內(nèi)核。一般來說,我們想從事Android開發(fā),可以從應(yīng)用開發(fā)作為切入點(diǎn),逐漸熟悉其整個(gè)體系,并慢慢往其底層滲透,從而能做到軟硬兼?zhèn)洌A清遠(yuǎn)見3G學(xué)院(www.3g-edu.org)的Android系統(tǒng)開發(fā)班的課程設(shè)置就充分考慮到了這一點(diǎn),既涉及到應(yīng)用開發(fā)的透徹掌握,又幫助大家在系統(tǒng)開發(fā)層面上做好充分的準(zhǔn)備。而從學(xué)習(xí)的路線圖上來說,先熟悉Java SE編程,能比較熟練的使用Java語言進(jìn)行編程,熟悉Java語言語法特點(diǎn),熟悉Java IO、Java線程、網(wǎng)絡(luò)編程、XML處理等。另外,因?yàn)楹芏嗟腁ndroid應(yīng)用在運(yùn)行時(shí)都需要去訪問網(wǎng)站服務(wù)器,因此,熟悉一種網(wǎng)絡(luò)編程語言也是必要的。無論是從學(xué)習(xí)的方便性還是市場占有情況來說,使用JSP/Servlet都是不二的選擇,另外,在這個(gè)階段也順便學(xué)習(xí)一下SQL語法和熟悉一種SQL數(shù)據(jù)庫,以方便后續(xù)Android開發(fā)中進(jìn)行SQLite數(shù)據(jù)庫開發(fā)。學(xué)習(xí)完這些課程后,就可以開始進(jìn)行Android的應(yīng)用開發(fā)的學(xué)習(xí),例如Android中的UI組件、基本組件、數(shù)據(jù)存儲(chǔ)、[!--empirenews.page--]傳感器、圖形圖像處理、多媒體處理、游戲開發(fā)等。為了更好地進(jìn)行應(yīng)用編程,可以有選擇的對(duì)其Lib類庫進(jìn)行分析,以加深對(duì)其工作機(jī)制的理解。再往下,就是操作系統(tǒng)層級(jí)了,這里應(yīng)該要對(duì)Linux操作系統(tǒng)進(jìn)行學(xué)習(xí),熟悉其內(nèi)核和運(yùn)行原理,熟悉ARM體系架構(gòu)以及常用指令,并熟悉驅(qū)動(dòng)的編寫方式,掌握其移植方法等。(作者:溫尚書 華清遠(yuǎn)見3G學(xué)院金牌講師,轉(zhuǎn)載請(qǐng)注明出處)