想做web開發(fā) 就學(xué)JavaScript
有一天我被問到,為了快速地在 web 開發(fā)工作上增加優(yōu)勢,應(yīng)該學(xué)習(xí)什么語言。我的思緒回到了大學(xué),那時候我用 Pascal、Fortran、C和匯編語言,不過那個時候有不同的目標(biāo)。
鑒于當(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 名字下的一種標(biāo)準(zhǔn)。
這么多年來,JavaScript 因為用于瀏覽器交互而成為一種酷酷的語言,但是隨著 Ajax 突然爆發(fā),支持開發(fā)者從 web 服務(wù)器發(fā)送和接收數(shù)據(jù)、而不用刷新網(wǎng)頁,它贏得了更多的認(rèn)可。接下來的一波應(yīng)該被叫做 jQuery 革命,因為它和其它框架提供了開發(fā)強(qiáng)大 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 標(biāo)準(zhǔn)成為傳輸數(shù)據(jù)的最流行的方式之一的苗頭,已初見端倪,大部分重要的數(shù)據(jù)存儲都支持它。
勢頭還在繼續(xù)
在過去的這么多年里,有很多新技術(shù)產(chǎn)生了(網(wǎng)站的進(jìn)化提供了一個偉大的技術(shù)時間線),但是 JavaScript 重要的一個方面是,它已經(jīng)存在了大約兩個世紀(jì)。今天它已經(jīng)穩(wěn)固地成為了功能豐富的語言。
這與剛開始的情形比起來,相差甚遠(yuǎn),那時候 JavaScript 從來都沒有自豪地寫到簡歷里,因為真正的程序員是不屑于掌握它的。而現(xiàn)在,JavaScript 是大部分招聘人員考核的重點。
當(dāng)你正在尋找 web 開發(fā)的工作時,我認(rèn)為 JavaScript 是可以起步的偉大語言,下面是重要原因:
進(jìn)入門檻低: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ā)強(qiáng)壯的 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í)的第一門語言。
你同意嗎?如果你不同意,那么你認(rèn)為想找 web 開發(fā)工作的開發(fā)者應(yīng)該學(xué)習(xí)的第一門語言是哪種?在評論里告訴我們。
譯者注:
《為什么我不推薦 JavsScript 為首選編程語言》提供了相反的觀點?!稙槭裁?JavaScript 是你應(yīng)當(dāng)學(xué)習(xí)的下一個(或第一個)編程語言》英文原文:Learn JavaScript if you want to land a web development job 翻譯: labazhou
相關(guān)文章:
1. ASP.NET MVC使用jQuery ui的progressbar實現(xiàn)進(jìn)度條2. xml創(chuàng)建節(jié)點(根節(jié)點、子節(jié)點)3. 如何使用CSS3畫出一個叮當(dāng)貓4. javascript xml xsl取值及數(shù)據(jù)修改第1/2頁5. IntelliJ IDEA設(shè)置編碼格式的方法6. 快速解決ajax傳遞為空但顯示在頁面上為undefined的問題7. python dir函數(shù)快速掌握用法技巧8. Java Tree結(jié)構(gòu)數(shù)據(jù)中查找匹配節(jié)點方式9. Python爬蟲防封ip的一些技巧10. Python標(biāo)準(zhǔn)庫json模塊和pickle模塊使用詳解
