想做web開(kāi)發(fā) 就學(xué)JavaScript
有一天我被問(wèn)到,為了快速地在 web 開(kāi)發(fā)工作上增加優(yōu)勢(shì),應(yīng)該學(xué)習(xí)什么語(yǔ)言。我的思緒回到了大學(xué),那時(shí)候我用 Pascal、Fortran、C和匯編語(yǔ)言,不過(guò)那個(gè)時(shí)候有不同的目標(biāo)。
鑒于當(dāng)前的狀況和趨勢(shì),答案相對(duì)容易給出來(lái):學(xué)習(xí) JavaScript。四周看看,曾經(jīng)低端的瀏覽器腳本語(yǔ)言現(xiàn)在變得隨處可見(jiàn),從服務(wù)器端到客戶端,每天好像有更多的選擇。
出身低微
我記得數(shù)年前投入 web 開(kāi)發(fā),學(xué)習(xí)了 HTML、用 Perl 開(kāi)發(fā) CGI 腳本。Netscape 在其 2.0 版本的瀏覽器里引入了一種叫做 LiveScript 的腳本語(yǔ)言,此后不久名字改成了 JavaScript。這是一種很酷的語(yǔ)言,但是在瀏覽器大戰(zhàn)中,大約一年以后,由于微軟增加了支持,JavaScript 被限制在 Netscape 的瀏覽器里。它早期作用被限制在字段有效性驗(yàn)證之類的簡(jiǎn)單任務(wù)上,但是與服務(wù)器端腳本比起來(lái),它是非常好的選擇。JavaScript 逐步變成了 ECMAScript 名字下的一種標(biāo)準(zhǔn)。
這么多年來(lái),JavaScript 因?yàn)橛糜跒g覽器交互而成為一種酷酷的語(yǔ)言,但是隨著 Ajax 突然爆發(fā),支持開(kāi)發(fā)者從 web 服務(wù)器發(fā)送和接收數(shù)據(jù)、而不用刷新網(wǎng)頁(yè),它贏得了更多的認(rèn)可。接下來(lái)的一波應(yīng)該被叫做 jQuery 革命,因?yàn)樗推渌蚣芴峁┝碎_(kāi)發(fā)強(qiáng)大 web 應(yīng)用程序的易用特性。甚至微軟帶著 WinJS 框架也加入了;還有,Redmond 巨人選擇 JavaScript 做為開(kāi)發(fā) Windows 8 應(yīng)用程序的平臺(tái)。
當(dāng) Google 在 Chrome 瀏覽器加入了高性能的 JavaScript V8引擎時(shí),JavaScript 有了一個(gè)較大飛躍。這次發(fā)展對(duì)于服務(wù)器端 Node.js 上 JavaScript 的全新范式的發(fā)展是有幫助的。Node.js 的使用一直都是讓人震驚的,還有用于開(kāi)發(fā)從網(wǎng)站到功能完整的應(yīng)用程序的各種應(yīng)用、大量 JavaScript 框架的產(chǎn)生。最后一項(xiàng)是數(shù)據(jù),而 JSON 標(biāo)準(zhǔn)成為傳輸數(shù)據(jù)的最流行的方式之一的苗頭,已初見(jiàn)端倪,大部分重要的數(shù)據(jù)存儲(chǔ)都支持它。
勢(shì)頭還在繼續(xù)
在過(guò)去的這么多年里,有很多新技術(shù)產(chǎn)生了(網(wǎng)站的進(jìn)化提供了一個(gè)偉大的技術(shù)時(shí)間線),但是 JavaScript 重要的一個(gè)方面是,它已經(jīng)存在了大約兩個(gè)世紀(jì)。今天它已經(jīng)穩(wěn)固地成為了功能豐富的語(yǔ)言。
這與剛開(kāi)始的情形比起來(lái),相差甚遠(yuǎn),那時(shí)候 JavaScript 從來(lái)都沒(méi)有自豪地寫到簡(jiǎn)歷里,因?yàn)檎嬲某绦騿T是不屑于掌握它的。而現(xiàn)在,JavaScript 是大部分招聘人員考核的重點(diǎn)。
當(dāng)你正在尋找 web 開(kāi)發(fā)的工作時(shí),我認(rèn)為 JavaScript 是可以起步的偉大語(yǔ)言,下面是重要原因:
進(jìn)入門檻低:JavaScript 與其它語(yǔ)言相比,相對(duì)容易學(xué)習(xí),你能夠在線上找到很多現(xiàn)成的腳本和資源。另外,JavaScript 可以被任意文本編輯器或各種免費(fèi)工具創(chuàng)建,包括 Atom、ChromeDev Editor 和 jsFiddle。跨平臺(tái):所有瀏覽器,還有基于 Node.js 的服務(wù)器端,都支持 JavaScript,在大部分移動(dòng)平臺(tái)也正常運(yùn)行。一套 JavaScript 技能可用來(lái)開(kāi)發(fā)面向大部分平臺(tái)的應(yīng)用程序。(注意:JavaScript 不是萬(wàn)能工具。比如,像數(shù)據(jù)分析之類的耗費(fèi)資源的應(yīng)用程序,最好使用另一種語(yǔ)言。)已有技術(shù):服務(wù)器端的 JavaScript 或許是個(gè)相對(duì)嶄新的概念,但是核心 JavaScript 語(yǔ)言已經(jīng)存在多年了,隨著時(shí)間的增長(zhǎng),它已經(jīng)成熟,并作為通用的 web 腳本語(yǔ)言被廣為接受。跳板:JavaScript 和其它平臺(tái)兼容較好,因此當(dāng)你曾經(jīng)冒險(xiǎn)采用 Ruby on Rails、ASP.NET、PHP 等其它環(huán)境時(shí),你的 JavaScript 技能將是必需的。你仍然需要學(xué)習(xí) HTML 和一些 CSS,通過(guò) JavaScript 來(lái)開(kāi)發(fā)強(qiáng)壯的 web 應(yīng)用程序。熱門技術(shù):語(yǔ)言是建立了,但是行業(yè)本身找到了帶有 JavaScript 知識(shí)和技能的語(yǔ)言。看看招聘職位,你將看到趨勢(shì)。不是你哥們兒的 JavaScript
我過(guò)去聽(tīng)說(shuō) JavaScript 被描述成易于學(xué)習(xí),卻難以掌握。對(duì)于很多語(yǔ)言,可能都是這樣,但是 web 的 JavaScript 飽和程度意味著,初學(xué)的開(kāi)發(fā)者可以從其它網(wǎng)站快速拷貝經(jīng)過(guò)檢驗(yàn)的代碼,做些必要修改就可以使用,而不需要完全理解代碼。
如今 JavaScript 是 web 的中堅(jiān)力量,因此那些想成為 web 開(kāi)發(fā)者的人們,應(yīng)該集中精力于它,以作為學(xué)習(xí)的第一門語(yǔ)言。
你同意嗎?如果你不同意,那么你認(rèn)為想找 web 開(kāi)發(fā)工作的開(kāi)發(fā)者應(yīng)該學(xué)習(xí)的第一門語(yǔ)言是哪種?在評(píng)論里告訴我們。
譯者注:
《為什么我不推薦 JavsScript 為首選編程語(yǔ)言》提供了相反的觀點(diǎn)。《為什么 JavaScript 是你應(yīng)當(dāng)學(xué)習(xí)的下一個(gè)(或第一個(gè))編程語(yǔ)言》英文原文:Learn JavaScript if you want to land a web development job 翻譯: labazhou
相關(guān)文章:
1. html小技巧之td,div標(biāo)簽里內(nèi)容不換行2. 使用css實(shí)現(xiàn)全兼容tooltip提示框3. 詳解盒子端CSS動(dòng)畫性能提升4. CSS hack用法案例詳解5. 告別AJAX實(shí)現(xiàn)無(wú)刷新提交表單6. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera7. 讀大數(shù)據(jù)量的XML文件的讀取問(wèn)題8. 詳解瀏覽器的緩存機(jī)制9. HTML DOM setInterval和clearInterval方法案例詳解10. XML入門的常見(jiàn)問(wèn)題(一)
