Web開發(fā)從學(xué)些JavaScript開始
有一天我被問到,為了快速地在web開發(fā)工作上增加優(yōu)勢,應(yīng)該學(xué)習(xí)什么語言。我的思緒回到了大學(xué),那時候我用Pascal、Fortran、C和匯編語言,不過那個時候有不同的目標。
鑒于當(dāng)前的狀況和趨勢,答案相對容易給出來:學(xué)習(xí)JavaScript。四周看看,曾經(jīng)低端的瀏覽器腳本語言現(xiàn)在變得隨處可見,從服務(wù)器端到客戶端,每天好像有更多的選擇。
出身低微
我記得數(shù)年前投入web開發(fā),學(xué)習(xí)了HTML、用Perl開發(fā)CGI腳本。Netscape在其2.0版本的瀏覽器里引入了一種叫做LiveScript的腳本語言,此后不久名字改成了JavaScript。這是一種很酷的語言,但是在瀏覽器大戰(zhàn)中,大約一年以后,由于微軟增加了支持,JavaScript被限制在Netscape的瀏覽器里。它早期作用被限制在字段有效性驗證之類的簡單任務(wù)上,但是與服務(wù)器端腳本比起來,它是非常好的選擇。JavaScript逐步變成了ECMAScript名字下的一種標準。
這么多年來,JavaScript因為用于瀏覽器交互而成為一種酷酷的語言,但是隨著Ajax突然爆發(fā),支持開發(fā)者從web服務(wù)器發(fā)送和接收數(shù)據(jù)、而不用刷新網(wǎng)頁,它贏得了更多的認可。接下來的一波應(yīng)該被叫做jQuery革命,因為它和其它框架提供了開發(fā)強大web應(yīng)用程序的易用特性。甚至微軟帶著WinJS框架也加入了;還有,Redmond巨人選擇JavaScript做為開發(fā)Windows 8 應(yīng)用程序的平臺。
當(dāng)Google在Chrome瀏覽器加入了高性能的JavaScript V8引擎時,JavaScript有了一個較大飛躍。這次發(fā)展對于服務(wù)器端Node.js上JavaScript的全新范式的發(fā)展是有幫助的。Node.js的使用一直都是讓人震驚的,還有用于開發(fā)從網(wǎng)站到功能完整的應(yīng)用程序的各種應(yīng)用、大量JavaScript框架的產(chǎn)生。***一項是數(shù)據(jù),而JSON標準成為傳輸數(shù)據(jù)的***的方式之一的苗頭,已初見端倪,大部分重要的數(shù)據(jù)存儲都支持它。
勢頭還在繼續(xù)
在過去的這么多年里,有很多新技術(shù)產(chǎn)生了(網(wǎng)站的進化提供了一個偉大的技術(shù)時間線),但是JavaScript重要的一個方面是,它已經(jīng)存在了大約兩個世紀。今天它已經(jīng)穩(wěn)固地成為了功能豐富的語言。
這與剛開始的情形比起來,相差甚遠,那時候JavaScript從來都沒有自豪地寫到簡歷里,因為真正的程序員是不屑于掌握它的。而現(xiàn)在,JavaScript是大部分招聘人員考核的重點。
當(dāng)你正在尋找web開發(fā)的工作時,我認為JavaScript是可以起步的偉大語言,下面是重要原因:
- 進入門檻低:JavaScript與其它語言相比,相對容易學(xué)習(xí),你能夠在線上找到很多現(xiàn)成的腳本和資源。另外,JavaScript可以被任意文本編輯器或各種免費工具創(chuàng)建,包括Atom、ChromeDev Editor和jsFiddle。
- 跨平臺:所有瀏覽器,還有基于Node.js的服務(wù)器端,都支持JavaScript,在大部分移動平臺也正常運行。一套JavaScript技能可用來開發(fā)面向大部分平臺的應(yīng)用程序。(注意:JavaScript不是***工具。比如,像數(shù)據(jù)分析之類的耗費資源的應(yīng)用程序,***使用另一種語言。)
- 已有技術(shù):服務(wù)器端的JavaScript或許是個相對嶄新的概念,但是核心JavaScript語言已經(jīng)存在多年了,隨著時間的增長,它已經(jīng)成熟,并作為通用的web腳本語言被廣為接受。
- 跳板:JavaScript和其它平臺兼容較好,因此當(dāng)你曾經(jīng)冒險采用Ruby on Rails、ASP.NET、PHP等其它環(huán)境時,你的JavaScript技能將是必需的。你仍然需要學(xué)習(xí)HTML和一些CSS,通過JavaScript來開發(fā)強壯的web應(yīng)用程序。
- 熱門技術(shù):語言是建立了,但是行業(yè)本身找到了帶有JavaScript知識和技能的語言??纯凑衅嘎毼唬銓⒖吹节厔?。
不是你哥們兒的JavaScript
我過去聽說JavaScript被描述成易于學(xué)習(xí),卻難以掌握。對于很多語言,可能都是這樣,但是web的JavaScript飽和程度意味著,初學(xué)的開發(fā)者可以從其它網(wǎng)站快速拷貝經(jīng)過檢驗的代碼,做些必要修改就可以使用,而不需要完全理解代碼。
如今JavaScript是web的中堅力量,因此那些想成為web開發(fā)者的人們,應(yīng)該集中精力于它,以作為學(xué)習(xí)的***門語言。
你同意嗎?如果你不同意,那么你認為想找web開發(fā)工作的開發(fā)者應(yīng)該學(xué)習(xí)的***門語言是哪種?在評論里告訴我們。
譯者注: