国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

《第一行代碼》作者郭霖:從Java程序員到Android開發者的第一步

zhaochunqi / 2067人閱讀

摘要:年,他創作了第一行代碼一書。至于為什么要寫第一行代碼這本書,我認為基礎還是非常重要的,這本書可以很好地幫助初學者入門,也可以幫助有經驗的開發人員鞏固基礎。

  

非商業轉載請注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/article/125914

郭霖,Android軟件開發工程師。從事Android開發工作四年,有著豐富的項目實戰經驗,負責及參與開發過多款移動應用與游戲,對Android系統架構及應用層開發有著深入的理解。2013年3月開始,在CSDN上發表Android技術相關博文,很快就獲得了大量網友的好評。短短一年時間博客訪問量超過50萬次,評價近3000條。榮獲CSDN認證專家,并被評選為2013年CSDN年度博客之星。2014年,他創作了《第一行代碼——Android》一書。郭霖現就職于蝸牛移動,繼續從事Android開發工作。

問:你是如何成為一位Android開發者的?

  

也算是機緣巧合吧。之前我走的是Java Web方向,一次偶然的機會了解到了Android操作系統,我覺得移動領域剛剛起步,潛力很大,而且正好又是使用的Java語言,專業和我非常對口,于是我就踏上了這條路。

問:為什么要寫《第一行代碼——Android》這本書?它能為想要成為Android開發者的讀者們解決什么問題?在看你的書之前,需要有什么樣的技能和知識做基礎?

  

我很喜歡看書,也看過很多的技術書,寫書對于我來說算是一個紀念。至于為什么要寫《第一行代碼——Android》這本書,我認為基礎還是非常重要的,這本書可以很好地幫助Android初學者入門,也可以幫助有經驗的Android開發人員鞏固基礎。

寫這本書的時候我是完全站在初學者的角度上來寫的,因此只要有Java基礎就可以看。對于Java的掌握程度那當然是越熟練越好了,但最低要求是至少要懂Java的基本語法。學習Java的書籍實在是太多了,我也沒有都看過,說不上哪本好,大家還是自己找找看吧。

問:關于Android碎片化問題,你對開發者們有什么建議?

  

碎片化的問題確實讓人非常頭疼,這是由于Android系統開源的特性所必然導致出現的問題。在這種問題上我不敢說我對開發者們有什么建議,但我自己的做法就是不會為了少部分的用戶群而去編寫大量的兼容性代碼。比如說現在Android 2.x的市場已經非常少了,但有很多的軟件還是一定要去兼容這些老版本的系統。我認為這種行為其實在一定程度上縱容了碎片化的產生,也變相導致Android新版本系統普及過于緩慢。當然了,沒有提供一種簡便升級系統的辦法是Android新系統無法迅速普及最主要的原因。碎片化問題即使谷歌都沒有辦法完全解決掉,我覺得作為一名普通的開發者就沒有必要去深入研究了。

問:Android 的后臺推送原理是什么?和iOS 相比有什么區別?

  

后臺推送的原理都是相同的,就是讓客戶端和服務器保持一個長連接,當服務器想要推送的時候,就發送一條消息到指定客戶端就可以了。雖說原理相同,但Android的推送要更加復雜一些,因為iOS系統中已經內置好了推送功能,只需要使用提供好的API就能簡單地完成推送功能。而Android雖說也提供了類似的GCM服務,但由于在國內使用受到很多限制,所以推送還是要自己做的。不過目前國內也有一些第三方的推送平臺,使用它們的話也可以很簡單地完成推送功能。

問:對于想要從事移動開發的程序員來說,iOS, Android, WP各有什么優勢?哪個未來前景更好?

  

從開發語言上來講,Java和C#相對簡單,上手成本比較低,這是Android和WP的優勢。但iOS目前也推出了Swift語言,很大程度上緩解了OC上手困難的問題。從用戶群體上來講,Android和iOS基本上占據了絕大部分的用戶群,WP的用戶群體則相對較少。從軟件的豐富程度來講,Android和iOS都擁有絕對的優勢,WP短期內并沒有趕超的勢頭。因此,未來的前景我仍然認為Android和iOS會相對較好,WP的發展情況較難預測。

問:一直以來,Android的內部功能相比于iOS都更勝一籌,比如先進的應用內分享機制、自由定制的launcher 和widget,等等,但是iOS 7 特別是 iOS 8 帶來的新特性在很大程度上趕上甚至反超 Android,你怎么看?

  

我從沒認為Android系統要比iOS更勝一籌,雖說我自己是從事Android行業的,但我并不希望Android可以干掉iOS。這兩個系統各有各的優勢,共存是非常合理的現象。至于iOS
7和8推出的新特性我認為是很正常的現象,一個系統要是永遠沒有創新,那就只能是等死。這條理論同樣適用與Android身上,所以Android也在一直進步,比如最近Android
L系統的推出,在界面效果上甚至也有趕超iOS的趨勢。谷歌和蘋果都是偉大的公司,所以我不會片面的評價他們的系統到底誰比誰強。

問:你覺得Android L的最大亮點是什么?對于開發者來說,如何適應多屏開發的趨勢?

  

Android L號稱是Android歷史上改變最大的一個版本,其中多數功能是系統內部的優化,比如ART運行環境、耗電性優化等。與應用層開發者相關的最主要的改變應該就是Material
Design,新的UI,新的控件,給人耳目一新的感覺。

另外,之所以敢稱Android L是Android歷史上改變最大的一個版本,是因為從這個版本開始,Android系統就不再是僅僅應用于手機和平板上了,而是可以應用在手表、電視和汽車上。Android L中已經建立了Android Wear、Android TV和Android Auto這幾個分支,也是為Android日后的多元化鋪路吧。至于多屏開發的問題其實是外界人把它想復雜了,Android系統發展到了今天,已經提供了太多不同尺寸屏幕適配的解決方案,相信懂Android開發的朋友們都不會受這個問題困擾的。

問:你認為移動開發人員應該學習用戶體驗設計嗎?如何入手?

  

所謂技多不壓身,如果你有充足的時間和精力,多去學點東西肯定是有好處的。用戶體驗設計可以在很大程序上幫助開發人員編寫出更優秀的程序,能掌握這個本領的話對自身的能力也是有很大提升的。

問:要成為Android開發高手要經過幾個階段?

  

這種問題我不敢回答,因為我自己也還不是一個高手。但是就我自身的成長經歷來說,首先,一定要把Java的基本功打扎實,然后就可以學習Android相關的基礎知識了(比如說看《第一行代碼》)。接著,可以去嘗試編寫一些小軟件,這樣基本就能達到入門水準了。

自己能寫出來代碼只能算是第一步,接著你還要能讀懂別人寫的代碼,這是很重要的一門功夫,也是要慢慢培養的。等你掌握了這門功夫后,后面的發展方向就非常寬廣了,可以閱讀你們公司大牛寫出的代碼,以及各種開源框架甚至是系統的源碼,不斷充實自己。

問:對于想深入學習底層架構的同學,應該怎樣閱讀 Android 系統源碼呢?

  

我覺得閱讀系統源碼非常有必要遵循的一個原則就是抽絲剝繭、點到即止。應該認準一個功能點,然后去分析這個功能點是如何實現的。但只要去追尋主體的實現邏輯即可,千萬不要試圖去搞懂每一行代碼都是什么意思,那樣很容易會陷入到思維陷阱當中。因為這些龐大的系統都不是由一個人寫出來的,每一行代碼都想搞明白,就會感覺自己是在盲人摸象,永遠也研究不透。如果只是去分析主體的實現邏輯,那么就有比較明確的目的性,這樣閱讀源碼會更加輕松,也更加有成效。

問:讀完《第一行代碼》該如何開始下一步的晉級之路?

  

我覺得基礎知識掌握之后,并沒有統一的進階方向,因為你已經擁有了開發很多功能的能力,后面應該根據公司的業務需求去深入研究相關領域的技術,這個就因人而異了。但只要基本功掌握的足夠牢固,不管是什么方向的技術,你一定都能勢如破竹地拿下的。

更多精彩,加入圖靈訪談微信!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64202.html

相關文章

發表評論

0條評論

zhaochunqi

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<