Android開發的技術層次

 

任何一種移動開發生態系統其技術人員都是呈現金字塔式分佈的。

也就是我們常說的大部分人都是開發人員,只有少數人是真正意義上的程序員。


android系統也是一樣,在龐大的android開發人員羣體中,我認爲可以由低到高分爲以下四個層次:


1)應用層開發


使用java語言,基於android的框架和類庫,進行應用層程序的開發。

這類開發一般依賴於短期記憶,也就是我們所說的類庫王子。

這類人員,只要熟悉UI佈局設計,熟悉常用的widget,寫幾個消息回調函數.

鼓搗以下網絡類,簡單的數據庫操作,調用一下播放器,發一下短消息。

再用一哈比如Gallery這樣表面上比較炫的類。


這類開發人員一般自我感覺良好,比較自大,認爲android開發也不過如此,


2)中間層開發


使用c/c++語言,基於NDK JNI方式的開發.

需要對android的整體框架機制和android系統codebase非常熟悉.

一般都會自己自己下載android的系統源代碼,自己進行編譯IMAGE.

熟悉android系統的Custom building system.

能修改和擴展android的框架和 服務.

移植和定製nativelibray 和框架 ,如opencore,opengl,webkit

定製一套系統的UI,也就是給系統換膚。

也就是我們國內所謂的自主研發的手機操作系統。


這類開發人員一般屬於稍微資深一點的,一般都有強烈的技術飢餓感,覺得自己懂的很少,不停的去提高自己。


3)操作系統級別的開發,系統定製

熟悉Linux驅動開發,Linux內核結構

針對特定硬件的移植

這類開發的技術含量其實和中間層開發差不太多,從某種意義上還不如。

其實,驅動開發更主要的要求需要一定的硬件知識。

這類開發人員一般式各大手機廠家的開發人員,由於接觸的面比較窄,技術飢餓感不如中間層開發人員。


4)找出Android的不足,幫助Google持續改進Android

這種人是真正意義上的android程序員,他們會有選擇的去閱讀android框架源代碼,會認真的去閱讀dalvik的源代碼。

自身知識結構也比較成熟,知識面比較廣。

會很多上面三類人都不具有的調試和跟蹤技巧。

發佈了70 篇原創文章 · 獲贊 6 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章