1. 程式人生 > >Android程式設計師的進階之路

Android程式設計師的進階之路

本文主要論述的是Android程式設計師的進階之路,博主本人就是一名android開發攻城獅,所以這裡講述的大多數是android開發攻城獅的技術進階之路,如有問題請多指正。

大家都知道程式設計師之中有有菜鳥程式設計師和大神之分,這裡我這暫時把android程式設計師分為幾個層次:android初級程式設計師、android中級程式設計師、android高階程式設計師、android技術專家、CTO等等,不同的級別掌握的能力不一而定。更好的瞭解不同階段程式設計師的進階之路才能把握好自身提高的方向,有目標的提高才是最有效率的提高。

(一)android初級程式設計師

總結:能幹活,有學習能力,能跟著團隊成員做專案;

技能:基礎的元件的使用,熟悉Java基本的語法,Gson,xml資料解析,第三方框架的使用,熟悉android的常用API,熟悉網路框架或者API的使用,掌握資料庫相關知識點,熟悉android的四大元件、生命週期,熟練掌握介面佈局,瞭解android專案目錄的組織架構等等;

要求:初級程式設計師一般都是從電腦小白成長起來的,當然了也有可能是web或者是其他方面的大牛轉換過來的,想要成為一個高逼格的初級android程式設計師需要多看多讀多寫多想,能夠看懂他人的程式碼。能夠知道問題大概需要什麼方式,對android系統已經有了初步的認識等等。

(二)android中級程式設計師

總結:能夠分析問題,能夠解決問題;

技能:瞭解android的簽名機制(實現原理,具體操作等等),打包機制(多渠道打包,打包流程等等),瞭解apk安裝檔案壓縮(壓縮圖片,程式碼壓縮,.so檔案壓縮等等),事件分發,View繪製流程,webview相關知識點(與Native的互動,效能優化等),熟悉資料庫的使用(基本API,第三方ORM框架,ORM框架的實現原理等等),java反射原理與簡單實踐等,activity的啟動模式,activity,service,fragment,broadcastreceiver廣播生命週期,螢幕適配,AIDL與messager的簡單實用,自定義元件(自定義View與自定義ViewGroup),動畫(補間動畫,幀動畫,屬性動畫),通知欄訊息,版本新特性等等等等;

要求:開始閱讀android方面的而原始碼,不但能看懂別人的程式碼還需要能夠修改別人原始碼,對android的體系結構,組成方式,常見開源社群,技術要點能夠了然於胸。

(三)android高階程式設計師

總結:能夠解決問題,能夠發現問題;

技能:手動編寫框架,設計模式,程式碼規範,專案進度,時間估算,啟動流程,效能優化,OOM,沒存溢位與洩露,JNI,指令碼開發,activity啟動流程,android中的IPC機制(Binder原理),對iOS等其他移動開發現學現用等等;

要求:能夠造輪子,比如寫一個網路框架,事件匯流排控制元件,特效View等,重點是能夠為產品造輪子。

(四)android技術專家

總結:對某一方面非常精通與專注;

技能:比如對android的對媒體模組十分熟悉,閱讀過android多媒體模組的原始碼,能夠更改其中的不足與BUG等等;

要求:熟讀android原始碼,對android的某一模組有自身的看法並能夠有相應的修改能力,能夠知道團隊他人的日常產品開發等。

(五)CTO

總結:似乎已不再是程式設計師的範疇;

技能:專注技術大的方向的把控;