移動互聯網淘金 Android開發職業發展淺析

 本人一直致力於嵌入式相關知識和技術在中國大陸地區的技術傳播及嵌入式產品及移動設備的系統和應用程序開發,近兩年主要專注於3G技術領域,重點是研究Android應用開發及系統核心代碼及Android開發人才培養體系的建設。作爲華清遠見3G學院(www.3g-edu.org)的職業講師,我在面試學員的過程中經常會被反覆問到一些問題,這些問題可能是大部分Android開發初學者想了解的,所以抽時間整理了一下,短文一篇,希望可以對大家在Android開發入門學習的階段有所幫助,更希望可以幫助更多的朋友進一步瞭解所學的行業,明確職業發展的方向,歡迎拍磚。

  關於Android

  相信大家對Android的發展歷史多少都有一些瞭解, Android曾經是一家創立於舊金山的公司的名字,該公司於2005年8月份被Google收購,並從此踏上了飛速發展的道路。經過這幾年的發展,它已經發展成了一個平臺、一個生態體系。現在Android在移動領域已經得到了廣泛的應用。根據Google於2011年6月份公佈的數字,現在每天激活的Android設備高達50萬臺,比5月份的數據增加了10萬臺!Google還透露目前已經與36家OEM廠商和215家運營商合作,共激活了超過1億臺Android設備。

  相比於Symbian的日落西山,以及蘋果的封閉、Windows Phone的前途未卜,Android無疑代表了當前行業發展的主流趨勢:開放平臺取代了封閉平臺。讓參與者均能通過自己的努力而獲益。

  從2008年9月公佈1.0版本以來,經過近三年的跨越式發展,現在Android已經發展到了3.x版本,這是一個針對平板電腦而做了大量優化的版本,包括對更大屏幕的支持的類庫、多任務優化等。目前市場上佔主流的還是2.2版本,當然,相信隨着時間的推移,2.3及後續版本會得到越來越多的設備的支持。

  學習Android有前途麼?

  由於Android是近幾年纔開始起步的,所以有很多朋友在關注華清遠見3G Android系統開發課程時,也總是會有這樣的疑問。我一直跟帶着這種疑問的朋友說,回答這個問題,有幾個關鍵點:第一、這個市場是否足夠大(或者能發展到足夠大),這點我相信大家對於移動設備的現狀有足夠的瞭解,對其未來的發展不會有什麼異議;其次是你所從事的領域是否處於上升通道上?身處一個上升的通道,個人只要付出一定的努力,這個行業都會帶着你往上走,相反,如果處於一個沒落的行業,個人再努力,可能都趕不上整個行業墜落的速度。Android這幾年的發展可謂有目共睹,就像前面所說,每天的設備激活數目就達到了50萬臺;其三,是否有足夠多的大公司參與其中,或者是否成就了一些公司。行業的發展,離不開業內大公司的支持,或者,是否有公司在該領域得到了長足的發展。處於這個行業的大公司,除了Google本身外,也成就了一些公司,例如Motorola移動、HTC,前者借Android鹹魚翻身,後者借Android成了市值超越Nokia的公司。行業的發展如此紅火,那麼作爲開發者,是否可以從中獲益呢?我們可以從“Android工程師一年經驗月薪8000元:http://www.3g-edu.org/news/3G-45.htm”這則新聞來看這個行業的開發者的情況,由此可以看出,這個行業的從業人員現在有多搶手。

  目前國內Android開發行業市場現狀如何?

  目前國內的Android開發還是主要以應用開發爲主,主要分成3類:爲企業開發應用、開發通用應用(放到Android Market或者其他App Market銷售)以及遊戲開發(放到Android Market或者其他App Market銷售)。第一類開發者一般身處規模較大的公司,這些公司主要爲自有品牌或者其他品牌設計手機或者平板電腦的總體方案。除了根據需求對系統進行定製外,更多的工作在於爲這些系統編寫定製的應用。第二類開發者,一般處於創業型公司或者是獨立開發者,他們的盈利方式主要是2種:爲國外公司進行外包開發,或者通過Google的移動廣告(AdMob)通過廣告點擊分成。而理論上的通過付費下載的形式來盈利的,現在國內鮮見成功者。第三類開發者,目前和第二類開發者類似。下圖是開發者提交的應用和遊戲的數目所佔的比例圖,從中也可以看出應用開發數目遠超遊戲開發。(數據來源:創新工廠)

移動互聯網淘金 Android開發職業發展淺析

  什麼樣的人可以學Android?相對於其他移動開發平臺,因爲Android的(應用)開發採用了Java語言,所以,它的學習曲線相對比較平緩。對於那些有一些編程語言(如C/C++/Java等)訓練的學生,都可以考慮學習Android應用開發。當然,如果你希望從事Android遊戲開發,那麼,最好能在高數、離散數學甚至計算機圖形學等方面有比較紮實的基礎。如果後續想往底層開發如系統移植、驅動開發等方向發展,或者爲了更好地理解Android應用架構體系,那麼,具備一定的操作系統知識是必要的,當然,並不需要你對操作系統有多精通,而是對其基本原理有一定了解即可。

  如何學習Android開發?

  
移動互聯網淘金 Android開發職業發展淺析

  上面是Android的體系架構圖,自上而下分別爲應用層、應用框架、類庫和Alvik運行時環境以及Linux內核。一般來說,我們想從事Android開發,可以從應用開發作爲切入點,逐漸熟悉其整個體系,並慢慢往其底層滲透,從而能做到軟硬兼備,華清遠見3G學院(www.3g-edu.org)的Android系統開發班的課程設置就充分考慮到了這一點,既涉及到應用開發的透徹掌握,又幫助大家在系統開發層面上做好充分的準備。而從學習的路線圖上來說,先熟悉Java SE編程,能比較熟練的使用Java語言進行編程,熟悉Java語言語法特點,熟悉Java IO、Java線程、網絡編程、XML處理等。另外,因爲很多的Android應用在運行時都需要去訪問網站服務器,因此,熟悉一種網絡編程語言也是必要的。無論是從學習的方便性還是市場佔有情況來說,使用JSP/Servlet都是不二的選擇,另外,在這個階段也順便學習一下SQL語法和熟悉一種SQL數據庫,以方便後續Android開發中進行SQLite數據庫開發。學習完這些課程後,就可以開始進行Android的應用開發的學習,例如Android中的UI組件、基本組件、數據存儲、傳感器、圖形圖像處理、多媒體處理、遊戲開發等。爲了更好地進行應用編程,可以有選擇的對其Lib類庫進行分析,以加深對其工作機制的理解。再往下,就是操作系統層級了,這裏應該要對Linux操作系統進行學習,熟悉其內核和運行原理,熟悉ARM體系架構以及常用指令,並熟悉驅動的編寫方式,掌握其移植方法等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章