編程從來不是一件無趣的事情,,相反,,它會帶給你無窮無盡的快樂。這是一種創(chuàng)造事物的快樂,,就像上帝創(chuàng)造世間萬物一樣,,在代碼世界里,你就是無所不能的造物主,。 可是如何以最快的速度入門,,這才是廣大新手最關(guān)心的問題。本文就來談?wù)劸幊倘腴T的學習路線,。 本文適用對象:打算做軟件研發(fā)工作的人,、無明確目標的在校學生。 如果你符合以上兩點中的任意一點,,就請一定耐心讀完這篇文章,,保證對你大有幫助。 我看到過很多推薦教程的文章,,參考書列了一大堆,,根本不是初學者能夠看得進去的,。學編程需要一步一個腳印,循序漸進才能掌握牢固,。私以為,,沒有理解能力差的學生,只有寫的晦澀的書,。只要有好的學習方式,,每個人都可以輕松學會編程。 因此,,本文針對每項技術(shù)只推薦最好的教程,,這些教程一定是兼顧深度和趣味性的,保證你會愛不釋手地看下去,。大部分推薦的教程(包括書和視頻)都是我學習過程中對比后選出的,,有些老師講課的幽默程度堪比相聲,這才是真正的寓教于樂,。 閑話少說,,下面進入正題。 一,、技術(shù)路線介紹 本節(jié)只介紹純IT領(lǐng)域的技術(shù)路線,,而對于更高級的技術(shù)(例如計算機視覺、機器學習,、人工智能等等)不予考慮,。 技術(shù)路線是一條通往該行業(yè)的道路,掌握了處于這條路上的所有技術(shù),,就具備了該行業(yè)的從業(yè)能力,。因此,我們可以從各個公司的招聘職位中找到技術(shù)路線的分類,。 目前,,軟件開發(fā)技術(shù)路線主要有:Web后端、Web前端,、Android,、iOS、Windows客戶端,、數(shù)據(jù)庫,、嵌入式等。本節(jié)我們將依次對這些技術(shù)路線作簡要介紹,,具體的學習內(nèi)容會放到后面章節(jié)細講,。 1、Web后端 這是當今互聯(lián)網(wǎng)浪潮中軟件開發(fā)的主力軍。幾乎所有互聯(lián)網(wǎng)公司都要提供基于Web的服務(wù)(相對于基于客戶端的服務(wù)),,這些服務(wù)的核心就在于Web后端,,或稱為服務(wù)器端。 與Web前端相比,,后端程序運行在服務(wù)器上,,看不見摸不著,但卻扮演著至關(guān)重要的角色,。日常生活中我們用百度搜索,、發(fā)新浪微博、看騰訊視頻,、在淘寶購物,,這些功能都由后端程序來實現(xiàn)。 Web后端編程又可以根據(jù)編程語言的不同分為幾大類:Java,、PHP,、Node.js。 Java是種古老的編程語言,,在Web后端的應(yīng)用也足夠久,,由于Java代碼通常架構(gòu)清晰、可擴展性強,,因此適用于大型Web項目,,比如淘寶網(wǎng)就是用Java開發(fā)的。 PHP是一種專門用于Web后端的腳本語言,,簡單易用,適用于小型Web項目,。 Node.js是一項新興技術(shù),,采用JavaScript語言開發(fā)后端,輕量高效,,性能好,。 除了這三種主流技術(shù)外,使用Ruby on Rails,、Python,、ASP.NET也可以做后端開發(fā),但并不常用,,本文就不予考慮了,。 2、Web前端 Web前端是個大一統(tǒng)的世界,,就是我們常說的 HTML+CSS+JavaScript,,最新的版本是HTML5+CSS3+JavaScript。所以前端程序員只要學好了這三門語言,就可以大有作為了,。 3,、Android 在移動互聯(lián)網(wǎng)時代,Android成為最廣泛使用的移動端操作系統(tǒng),,自然需要大量的開發(fā)人員,。與Java Web類似,Android開發(fā)同樣使用Java語言,。 4,、iOS iOS是蘋果手機的操作系統(tǒng),由于iPhone推出之后在全球市場備受追捧,,iOS開發(fā)的需求量也很高,,而且通常薪資水平高于Android。iOS過去使用Objective-C開發(fā),,近年來蘋果公司發(fā)布了新的編程語言Swift,,開始逐漸替代Objective-C,成為iOS系統(tǒng)的主流開發(fā)語言,。 5,、Windows客戶端 Windows操作系統(tǒng)幾乎占領(lǐng)了個人電腦的絕大部分市場,而Windows客戶端編程就是為你的個人電腦編寫桌面應(yīng)用程序,,我們?nèi)粘J褂玫腛ffice,、電腦版QQ、迅雷影音,、Photoshop等等都屬于這個范疇,。 雖然我們每天都在用Windows客戶端程序,但在云計算日益發(fā)達的今天,,客戶端已經(jīng)不再是各個互聯(lián)網(wǎng)公司首先考慮的平臺,。與Web相比,客戶端顯得太笨重,,而且無法及時更新,。只要是能夠通過瀏覽器提供的服務(wù),就不必考慮開發(fā)客戶端軟件,,只有那些運算量,、數(shù)據(jù)量非常大的軟件,才需要開發(fā)客戶端版本,。因此Windows客戶端開發(fā)的崗位需求并不大,,主要集中在專業(yè)軟件領(lǐng)域,比如Adobe公司開發(fā)的各種圖像處理軟件,、軟件編程IDE,、大型企業(yè)內(nèi)部的管理系統(tǒng)等等,。 Windows客戶端開發(fā)的常用技術(shù)有:WinForm,Qt,。 WinForm是微軟官方提供的Windows客戶端軟件開發(fā)框架,,采用C#語言,屬于.NET框架的一部分,。使用Visual Studio開發(fā)WinForm程序非常方便,、快捷。 Qt是一個跨平臺的軟件開發(fā)框架,,一套程序可以同時運行在Windows,、Linux、Android,、iOS,、Windows Phone等主流操作系統(tǒng)上,功能非常強大,。對于想開發(fā)跨平臺客戶端的公司來說,,使用Qt的確可以節(jié)約很多成本。Qt主要使用C++語言實現(xiàn)功能,,同時可以選擇使用QML語言描述界面,。 除了這兩種技術(shù),還有MFC,、WPF,。MFC是微軟早期的客戶端框架,由于年代久遠,,開發(fā)效率低,,現(xiàn)在用的不多了。WPF則是微軟推出的比WinForm更優(yōu)秀的客戶端框架,,但由于推廣不利,,至今沒有得到廣泛使用。因此本文不再考慮這兩項技術(shù),。 6、數(shù)據(jù)庫 數(shù)據(jù)庫開發(fā)作為單獨的一條技術(shù)路線,,似乎有些單薄,。但鑒于各大互聯(lián)網(wǎng)公司都有數(shù)據(jù)庫工程師這一職位,所以也把它單獨列出來比較好,。 實話講,,數(shù)據(jù)庫這一技術(shù)路線我不太熟悉,按照我的理解,,應(yīng)該就是針對公司使用某一款數(shù)據(jù)庫系統(tǒng),,比如Oracle,做相關(guān)開發(fā)和性能優(yōu)化。 7,、嵌入式 嵌入式開發(fā)更偏底層,,似乎離IT越來越遠了。但結(jié)合現(xiàn)在日益火熱的物聯(lián)網(wǎng)來看,,嵌入式將迎來新的高潮,。 如果有一些名詞你不了解它的意思,請在評論區(qū)提問,,或自行百度,,或者先放著也行。畢竟作為一個編程初學者,,這些技術(shù)路線恐怕也不太好理解,。所以繼續(xù)往下看吧,等知識積累到一定程度這些概念就自然明白了,。本節(jié)只對這些技術(shù)路線做了大概的介紹,,下一節(jié)讓我們開始踏上學習的道路。 二,、編程語言 作為一個什么都不懂的小白,,學習編程的第一步當然是掌握一門編程語言。本節(jié)就來介紹常見的編程語言的學習路線,。 首先,,先明確一個觀點,作為一個程序員,,只會一種編程語言是遠遠不夠的,。最好精通1~2門語言,基本掌握其它所有常見的語言,。這聽起來有些嚇人,,但其實沒那么困難。因為大部分編程語言都是很相似的,,比如C語言,、C++、C#,、Java可以稱為類C語言,,它們都是從C語言開始一步步擴展得到的,掌握了其中一種,,其它的可以觸類旁通,。 1、C語言 信息類專業(yè)的大學生通常都會在一年級上C語言這門課,,也很可能是大學期間唯一的一門編程語言課,。所謂師傅領(lǐng)進門,,修行在個人,通過學習C語言邁入編程世界的大門是再合適不過了,。雖然也有人提倡學習Python作為第一門編程語言,,可我覺得那未免太浮躁了。剛開始應(yīng)該打好基礎(chǔ),,而不是追求炫酷的效果,。C語言是一門高級語言,又與計算機硬件息息相關(guān),,通過指針操作可以真切感受到數(shù)據(jù)的流動,,這是Python無法做到的。因此,,我的建議是,,不管今后打算從事哪個技術(shù)路線,C語言都是必學的第一門語言,。 然而遺憾的是,,我由于是在課堂上學的C語言,所以這方面的優(yōu)秀教材了解的也不多,。無論是學校使用的各個版本的《C語言程序設(shè)計》,,還是國外大牛寫的《The C Programming Language》,都未免太過枯燥,。據(jù)說有一本科普性質(zhì)的《啊哈C》寫的非常通俗易懂,,麻煩讀過的同學點評一下是否真的如此。其它好的教程也希望同學們幫我補充,。 2,、C# 學完C語言很多人會產(chǎn)生疑問,不知道C語言能干什么,。如果不及時消除這一顧慮,,恐怕會讓大部分人喪失學下去的信心。然而C語言的用途對于初學者來說很難體現(xiàn)出來,,所以下一步我們轉(zhuǎn)向C語言的增強版本——C#語言(讀音:C sharp),。 C#語言是微軟推出的面向?qū)ο缶幊陶Z言?!懊嫦?qū)ο蟆睂⑹且粋€伴隨程序員一生的詞匯,,因此從此刻開始,我們要隨時嘗試理解:什么是面向?qū)ο蟆?/p> 簡單來說,,面向?qū)ο笫窍鄬τ诿嫦蜻^程而言的。C語言是一個典型的面向過程語言,,因為C程序的執(zhí)行流程可以很容易地畫一張流程框圖來表示,,它強調(diào)程序員編寫程序時是面向程序執(zhí)行過程考慮的,。而C#則是一個典型的面向?qū)ο笳Z言,C#程序的執(zhí)行流程通常很難用流程圖表示,,這是因為程序員編寫C#程序時考慮的不是一個完整的從頭到尾的執(zhí)行流程,,而是各個對象之間的調(diào)用關(guān)系。 雖然我已經(jīng)盡力了,,但上面這段話肯定無法讓初學者真正理解面向過程和面向?qū)ο蟮年P(guān)系,。不過不要緊,編程思想從來不是紙上談兵得來的,,必須經(jīng)過充分的實踐才能領(lǐng)悟,。 幸運的是我收集到了一套完整的C#視頻教程,以及后續(xù)的WinForm視頻教程,。學完這兩個,,就會對面向?qū)ο缶幊逃幸欢ǖ睦斫狻km然今后并不一定從事Windows客戶端的開發(fā),,但學習這兩個內(nèi)容可以幫助更好地理解后續(xù)更深層次的Java Web和Android,。看視頻的同時一定要照著在自己電腦上寫一遍,,這樣才能印象深刻,。 這是視頻教程鏈接:C#,WinForm,。這套視頻也許是我看過的最有趣的視頻了,,希望大家不要錯過。 3,、Java(建議精通) 如果學過C#再學Java,,你會發(fā)現(xiàn)兩者驚人的相似。Java從難度上來說和C#一樣簡單(甚至更簡單),,而用途卻比C#廣泛得多,。這在很大程度上得益于Java的跨平臺特性,也使Java成為了Web項目的主力軍,。 推薦的視頻教程: 【傳智播客黑馬訓練營Java基礎(chǔ)】 地址1 官網(wǎng) 地址2 百度網(wǎng)盤 密碼:fvvw 4,、C++(建議精通) 并非每個同學都需要學習C++,Java和C++精通其中一門即可,。但C++與Java并不是效能重復的編程語言,,相反,它們分別統(tǒng)治著各自的領(lǐng)域,,就像Java統(tǒng)治Web領(lǐng)域一樣,,C++統(tǒng)治著性能敏感的基礎(chǔ)設(shè)施、視頻圖像處理等領(lǐng)域,。精通Java或C++都不容易(特別是C++,,堪稱最難編程語言),,因此兩者擇一即可。 C++方面仍然沒能找到優(yōu)秀的視頻教程,,需要大家?guī)兔μ嵝┙ㄗh,。倒是有比較優(yōu)秀的書籍,比如《C++ Primer》,,值得一看,。 5、JavaScript(建議精通) JavaScript是前端開發(fā)的利器,,對于前端工程師來說,,精通JavaScript是必須的。近年來JavaScript甚至蔓延到了后端編程,,以Node.js為代表的后端JavaScript框架使它成為全能的編程語言,,大有一統(tǒng)江湖之勢。 這是與Java和C++一樣建議精通的語言,,當然只是對前端工程師有這個要求,,后端工程師倒不必花太多精力在這上面。 推薦教程: 【慕課網(wǎng)】 HTML+CSS基礎(chǔ)課程 【慕課網(wǎng)】 JavaScript入門篇 【慕課網(wǎng)】 JavaScript進階篇 【廖雪峰】 JavaScript教程 5,、Python(可選) Python是近年來日益火爆的一門編程語言,。隨著Python庫的層出不窮,Python在科學計算,、Web,、大數(shù)據(jù)與機器學習等領(lǐng)域都展現(xiàn)了驚人的實力。 與Java類似,,Python也是一門優(yōu)秀的面向?qū)ο缶幊陶Z言,,而且更簡潔。但這不是重點,,與前面所有語言不同的是,,Python是一門動態(tài)類型語言。 前面提到的四種語言C,、C#,、Java、C++都是靜態(tài)類型語言,,它們需要一個稱作“編譯器”的東西,,把源代碼編譯成機器碼,才能在計算機上運行,。而這一特點導致了所有變量都必須事先規(guī)定類型,,比如我們習以為常的寫法 int i = 0; 就事先規(guī)定了變量 以Python為代表的動態(tài)類型語言則打破了這個限制,我們完全可以直接這樣寫 i = 0; 既不用規(guī)定變量類型,,又可以隨時給它賦不同類型的值,這就是動態(tài)類型語言的特點,。這樣做方便了許多,,但代價是Python代碼需要運行在Python解釋器上,而不是直接運行在CPU上,,因此執(zhí)行效率會低很多,,也就是通常說的動態(tài)語言比靜態(tài)語言“慢”。 有了前幾種語言的基礎(chǔ),,學Python是很簡單的事情,,因此不必推薦教程了,只要去網(wǎng)上隨便搜一篇介紹Python語法的博客看看就搞定了,。 6,、PHP(可選) 程序員中流傳著這樣一個說法——“PHP是世界上最好的編程語言”。從提出這句話的那一刻起,,就免不了一場編程語言界的腥風血雨,。以至于PHP似乎成了其它編程語言的敵人,備受人們攻擊,。然而在這樣艱苦的環(huán)境中存活下來,而且能占據(jù)很大一部分Web市場,只能說PHP有其強大的優(yōu)勢,。PHP開發(fā)Web項目非??欤逸p量,,是一種腳本語言,,嵌入到HTML里面就可以運行。因此小公司使用PHP很容易搭建起自己的Web業(yè)務(wù),。然而Web項目規(guī)模大到一定程度時,,PHP就有些難以勝任了,需要Java這樣重量級的Web框架才可以支撐,。因此,,根據(jù)應(yīng)用場景選擇合適的技術(shù)才是最重要的。 PHP教程尚待發(fā)掘... 7,、Lisp Lisp是一門古老的語言,,老到大部分人早已忘記它的存在。我也是近兩年才了解到這門編程語言,。隨著歷史消逝的編程語言數(shù)不勝數(shù),,能夠在50年后仍然保持活躍生命力的語言少之又少,,Lisp是其中之一。1958年人工智能的先驅(qū)約翰·麥卡錫(John McCarthy)為了解決人工智能領(lǐng)域的問題而發(fā)明了Lisp語言,,比C語言的發(fā)明早了14年,。然而Lisp中包含的編程思想?yún)s比現(xiàn)在最流行的語言早了幾十年??纯础逗诳团c畫家》的作者,、硅谷創(chuàng)業(yè)之父保羅·格雷厄姆是怎么說的
之所以我在這里提到Lisp語言,,不是因為它多么有用(事實上Lisp的確沒多少實際的應(yīng)用),,而是因為它蘊含的強大的編程理念,一種完全不同于C系列語言的理念,。然而我對Lisp的了解,,或許根本談不上了解,僅僅局限于道聽途說,,最早是通過王垠的博客,,后來是《黑客與畫家》。這兩大高手對Lisp的強力推薦,,使我想要做些嘗試,。無奈一直沒能抽出時間專心研究,而且網(wǎng)上Lisp的參考資料又少得可憐。目前Lisp最流行的兩大方言是Common Lisp和Scheme,,感興趣的朋友可以關(guān)注一下,,如果遇到有好的教程也可以分享給大家。 8,、其它語言 還有一些應(yīng)用不那么廣泛但在特定領(lǐng)域非常流行的語言,,比如Objective-C,Ruby,,Go等等,,它們都有著各自不可替代的作用。不過在初學階段,,不必太關(guān)心這些小眾語言,因為從上面那些大眾語言轉(zhuǎn)到這些小眾語言上是很容易的,。 三,、計算機基礎(chǔ) 現(xiàn)在才學計算機基礎(chǔ),是不是有點晚,? 當然不是,,現(xiàn)在剛剛好。有了上面的編程基礎(chǔ),,我們才能深入學習計算機體系結(jié)構(gòu),、操作系統(tǒng)、計算機網(wǎng)絡(luò),、算法等知識,,這些知識不像編程那樣能看到實際的效果,但卻是提升水平的關(guān)鍵,。 1,、計算機體系結(jié)構(gòu) 計算機體系結(jié)構(gòu)告訴我們計算機由哪些硬件組成,它們各自完成什么工作,,如何結(jié)合成一個有機的整體,。它們是物理上真實存在的東西,相當于計算機的骨架,,支撐著位于其上的軟件系統(tǒng),。 對于程序員來說,這部分知識倒不必過于深入,,推薦一本必讀書:
建議閱讀英文版,,因為讀過這本書后我深深感受到原來英語可以寫得這樣通俗易懂,甚至是一些讓我覺得無法用中文說清楚的地方,。 最好買一本紙質(zhì)書,,這樣就能多做筆記,以后需要的時候也能翻看。如果經(jīng)濟不允許的話,,可以從這里下載電子版,,但是掃描的質(zhì)量很差,可能會影響閱讀心情,。 我在閱讀這本書的過程中寫了一系列博客《深入理解計算機系統(tǒng)》,,歡迎前來交流~ 2、操作系統(tǒng) 操作系統(tǒng)是運行在計算機上的最重要的系統(tǒng)軟件,,從一開機它就開始運行,,直到關(guān)機才最后一個結(jié)束。操作系統(tǒng)對運行于其上的應(yīng)用軟件是至關(guān)重要的,,從而也導致了Windows和Linux兩大派系的世紀之爭,。學習操作系統(tǒng),才能更高效地開發(fā)應(yīng)用程序,,這一點應(yīng)該不難理解,。 操作系統(tǒng)方面的課程尚待補充。 3,、計算機網(wǎng)絡(luò) 互聯(lián)網(wǎng)是這個時代最偉大的發(fā)明,,學好計算機網(wǎng)絡(luò)才能勝任今后的各項工作,因為這些工作無一不與互聯(lián)網(wǎng)相關(guān),。 推薦一套計算機網(wǎng)絡(luò)視頻教程:
這套教程內(nèi)容很多,,講解非常詳細。耐心看完整套教程,,你就能看透計算機網(wǎng)絡(luò)的本質(zhì),。 4、算法 算法無疑是程序員的基本功,,推薦書籍:
這本書介紹的算法很全面,,把它認真讀完并最好親手實踐每一個算法,一定會大有收獲,。 5,、其它 其它一些計算機基礎(chǔ)知識,比如數(shù)據(jù)庫技術(shù),、計算機圖形學,、多處理器編程、網(wǎng)絡(luò)與信息安全,,也都是很值得學的內(nèi)容,,但是大家都精力有限,沒必要樣樣精通,,可以選自己感興趣的部分補強,。 四,、Java Web后端開發(fā) 學習了第二節(jié)和第三節(jié)提到的知識,基本上可以稱為一個合格的程序員了,。下一步的發(fā)展就要根據(jù)市場行情,,選擇一門專項技術(shù),準備進入求職階段,。 前面的內(nèi)容可以稱得上是“九陽神功”,,修煉你的內(nèi)力,而后面的內(nèi)容就是“九陰真經(jīng)”,,能夠征戰(zhàn)沙場的武器,。兩者相輔相成,缺一不可,。 本節(jié)從后端開發(fā)談起,。第一節(jié)中講到主流后端開發(fā)有三種:Java Web、PHP和Node.js,,三者的思想是一致的,,只不過在實現(xiàn)方式上有所不同,因此我主要以Java Web為例介紹,。 從簡單的C語言控制臺程序,到WinForm窗體應(yīng)用程序,,我們接觸到越來越復雜的軟件形式,。而Web應(yīng)用程序,又與前面兩種完全不同,。我們習以為常的軟件都是通過一個Setup.exe安裝包在計算機上安裝得到的,,因此它們稱為Windows客戶端。而另外一些軟件,,比如百度搜索,、騰訊新聞、淘寶網(wǎng)等等,,我們習慣稱之為網(wǎng)站,,但實際上,它們也是軟件,,稱之為Web應(yīng)用程序,。這種軟件運行在服務(wù)器上(服務(wù)器就是放置在機房里的一臺高性能電腦),用戶通過瀏覽器訪問它們,。 我們需要先搞懂Web程序的工作原理,,為什么用戶通過瀏覽器可以訪問到服務(wù)器上運行的程序?它們?nèi)绾卫肏TTP協(xié)議通信,?用戶數(shù)據(jù)存在哪里,?弄明白這些基本邏輯,,再學習如何寫程序?qū)崿F(xiàn)想要的功能。 推薦一套Java Web視頻教程: 《黑馬程序員 30天輕松掌握JavaWeb》 鏈接 密碼:93kt 學習完這套教程,,就能夠開發(fā)簡單的網(wǎng)站了,,但還不足以應(yīng)對實際工作的需求。 為了提高開發(fā)效率,,市面上出現(xiàn)了許多優(yōu)秀的Web開源框架,。在Java Web領(lǐng)域,有三大框架之稱的——Spring,、Struts和Hibernate為開發(fā)者提供了許多便利,,基本是Java Web程序的標配。學習這三大框架,,可以更深入地理解如何設(shè)計軟件架構(gòu),,比如MVC、IOC等等,。 推薦視頻教程: 《Spring視頻教程》鏈接 密碼:ey64 《Struts2視頻教程》鏈接 密碼:05ij 《Hibernate視頻教程》鏈接 密碼:if0e 需要提醒大家的是,,Web技術(shù)發(fā)展日新月異,各種框架層出不窮,,即使是三大框架,,也有過時的一天(目前看來,其實大部分互聯(lián)網(wǎng)公司都已經(jīng)轉(zhuǎn)向更輕量,、高效的框架了),。所以我們學習并不是為了學會用一種工具,而是要掌握它們的設(shè)計思想,,當你掌握了三大框架的設(shè)計理念,,相信面對其它新興框架,就可以很容易透過現(xiàn)象看本質(zhì),,找到共同的地方,。 五、Web前端 Web前端與Web后端合作完成整個Web項目的開發(fā),。前后端分離也正是Web軟件最優(yōu)秀的設(shè)計理念,。 前端需要用HTML語言制作網(wǎng)頁,用CSS描述網(wǎng)頁的樣式,,用JavaScript給網(wǎng)頁提供動態(tài)特性,。這幾樣技術(shù)在第二節(jié)中已經(jīng)給出了教程,很容易掌握,,在邏輯方面并沒有后端程序那么復雜,。 但前端技術(shù)不止于此。與后端類似,,前端框架也是層出不窮,,有過之而無不及,。如今流行的各種框架例如React、Angular.js,、Vue.js,、Bootstrap等等,都需要我們多多嘗試,,深入理解為何需要這些框架,,它們能幫助我們做哪些事情。對各個框架有個基本的了解,,才能在技術(shù)選型時游刃有余,。由于前端水平有限,我就不做過多推薦了,,有一篇非常好的文章推薦給大家看:
六,、Android 安卓經(jīng)過近些年的快速發(fā)展,成為目前世界上最優(yōu)秀的移動端操作系統(tǒng),,至今仍活力不減,。學習安卓,主要是學習使用Android SDK提供的API實現(xiàn)各種功能,,同時深入理解Android的運行機制,。 推薦一本參考書: 《第一行代碼Android》郭霖 著 這本書思路清晰,講解生動,,很適合初學者閱讀,。有了這些基礎(chǔ),等到真正做實際項目的時候,,當你遇到更多實際的問題,比如圖片緩存,、界面卡頓,、屏幕適配等等,到時候只要針對性地查找解決方案,,或者利用現(xiàn)有的開發(fā)框架就可以了,,經(jīng)驗也會隨之慢慢豐富。 七,、成為編程大牛 這篇文章從開始到現(xiàn)在,,已經(jīng)過去了幾個月,中間屢想終止,,最后還是堅持寫完了,。常常感到慚愧,因為我實在稱不上編程領(lǐng)域的大牛,,卻斗起膽來寫這么一篇宏大的文章,,豈不是誤人子弟,。所以如果你看到了這里,請一定對本文的所有文字持保留態(tài)度,,這里沒有真理,,只是我的一些分享,不一定適合所有人,。 當然,,如何成為編程大牛,我更是一點經(jīng)驗也沒有,。不過經(jīng)過這些年的摸索,,還是想給大家提幾點具體的建議:
最后,,祝大家在技術(shù)的道路上勇往直前,,成為編程大牛! 由于頭條禁止發(fā)布外鏈,,所以想要獲取文中相應(yīng)教程的小伙伴直接關(guān)注我的微信公眾號就可以啦,!
|
|