如果你想學習 Android,不妨來聽聽工程師是如何煉成的
對 Android 感興趣,但卻不知道怎么入手;已經是開發者了,但還想找到新方法在技術上更進一步。如果你正被這樣的問題困擾的話,不妨來聽聽中國 Google 開發者社區(GDG)的工程師們是如何學習 Android 的。
作為 Flipboard 的 Android 工程師,朱凱最開始其實是做 Java 開發的,在從 Java 轉投 Android 的過程中也是磕磕碰碰。用他自己的話來說,當他 2012 年辭職在家自學了一段時間 Android,然后以 Android 開發者的身份在北京找工作的過程中幾乎處處碰壁,以至于他開始覺得自己是個 Android 菜鳥。
那么當初的 Android 菜鳥最終是憑借什么被 Flipboard 相中呢?答案是一個開源的 Material Design 視覺庫 MaterialEditText。朱凱通過這個視覺庫把一些具有標準的東西(例如視圖控件)做成通用的,這樣大家都可以用,開發者也就可以省出時間來打磨軟件中特有的難點和細節,而不用讓不同的人都花時間來打造相同的東西。
在 Flipboard 內部,他們的 Android 團隊也是 MaterialEditText 的受益者,朱凱也因此通過內部員工推薦加入 Flipboard 中國。
就學習方法來說,朱凱和北京 GDG 社區組織者、開發者韓國愷都認為 Android 的官方開發文檔是很好的指南。在文檔之外,像 YouTube 上 Google Developers、Android Developers 頻道以及 Google 和 Udacity 合辦的 Android 開發教程視頻這些也都是優質的 Android 開發資源。
當然,除了 Google 官方提供的內容,國內外還有很多技術愛好者,他們寫的博客、翻譯也都值得參考。還有一些志愿者靠熱情或半商業性質(因為含廣告)維護的技術自媒體也都是不錯的資源。
除了不斷學習,一名優秀的開發者還應該在遇到問題時拿出解決方案。朱凱以前主要依賴百度來找答案,但后來卻開始根據問題類型的不同來選擇 Google 搜索、瀏覽 Android 官方開發者站、查看源碼、上 StackOverflow 搜索等不同的方式來解決問題。在他看來,多學和多練是自己提升技術的主要方法,具體來說就是多讀 Android 的官方開發文檔和 Android Framework 一些關鍵部分的源碼,以及把自己學到的東西應用到實戰中來(公司的項目或自己的項目)。
由于 Google 現在幾乎每年都會在 I/O 大會上針對 Android 做一些更新,比如 2014 年的 Material Design、2015 年的應用權限控制;這些新的部分在不斷完善 Android 的同時,也給開發者帶來了嘗鮮的機會與挑戰,所以想成為一名優秀的開發者,除了勤奮,最難的或許就是保持自己源源不斷接受新東西的好奇心了。