想做web開發(fā) 就學(xué)JavaScript
有一天我被問到,為了快速地在 web 開發(fā)工作上增加優(yōu)勢,應(yīng)該學(xué)習(xí)什么語言。我的思緒回到了大學(xué),那時(shí)候我用 Pascal、Fortran、C和匯編語言,不過那個(gè)時(shí)候有不同的目標(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 的瀏覽器里。它早期作用被限制在字段有效性驗(yàn)證之類的簡單任務(wù)上,但是與服務(wù)器端腳本比起來,它是非常好的選擇。JavaScript 逐步變成了 ECMAScript 名字下的一種標(biāo)準(zhǔn)。
這么多年來,JavaScript 因?yàn)橛糜跒g覽器交互而成為一種酷酷的語言,但是隨著 Ajax 突然爆發(fā),支持開發(fā)者從 web 服務(wù)器發(fā)送和接收數(shù)據(jù)、而不用刷新網(wǎng)頁,它贏得了更多的認(rèn)可。接下來的一波應(yīng)該被叫做 jQuery 革命,因?yàn)樗推渌蚣芴峁┝碎_發(fā)強(qiáng)大 web 應(yīng)用程序的易用特性。甚至微軟帶著 WinJS 框架也加入了;還有,Redmond 巨人選擇 JavaScript 做為開發(fā) Windows 8 應(yīng)用程序的平臺(tái)。
當(dāng) Google 在 Chrome 瀏覽器加入了高性能的 JavaScript V8引擎時(shí),JavaScript 有了一個(gè)較大飛躍。這次發(fā)展對于服務(wù)器端 Node.js 上 JavaScript 的全新范式的發(fā)展是有幫助的。Node.js 的使用一直都是讓人震驚的,還有用于開發(fā)從網(wǎng)站到功能完整的應(yīng)用程序的各種應(yīng)用、大量 JavaScript 框架的產(chǎn)生。最后一項(xiàng)是數(shù)據(jù),而 JSON 標(biāo)準(zhǔn)成為傳輸數(shù)據(jù)的最流行的方式之一的苗頭,已初見端倪,大部分重要的數(shù)據(jù)存儲(chǔ)都支持它。
勢頭還在繼續(xù)
在過去的這么多年里,有很多新技術(shù)產(chǎn)生了(網(wǎng)站的進(jìn)化提供了一個(gè)偉大的技術(shù)時(shí)間線),但是 JavaScript 重要的一個(gè)方面是,它已經(jīng)存在了大約兩個(gè)世紀(jì)。今天它已經(jīng)穩(wěn)固地成為了功能豐富的語言。
這與剛開始的情形比起來,相差甚遠(yuǎn),那時(shí)候 JavaScript 從來都沒有自豪地寫到簡歷里,因?yàn)檎嬲某绦騿T是不屑于掌握它的。而現(xiàn)在,JavaScript 是大部分招聘人員考核的重點(diǎn)。
當(dāng)你正在尋找 web 開發(fā)的工作時(shí),我認(rèn)為 JavaScript 是可以起步的偉大語言,下面是重要原因:
進(jìn)入門檻低:JavaScript 與其它語言相比,相對容易學(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 技能可用來開發(fā)面向大部分平臺(tái)的應(yīng)用程序。(注意:JavaScript 不是萬能工具。比如,像數(shù)據(jù)分析之類的耗費(fèi)資源的應(yīng)用程序,最好使用另一種語言。)已有技術(shù):服務(wù)器端的 JavaScript 或許是個(gè)相對嶄新的概念,但是核心 JavaScript 語言已經(jīng)存在多年了,隨著時(shí)間的增長,它已經(jīng)成熟,并作為通用的 web 腳本語言被廣為接受。跳板:JavaScript 和其它平臺(tái)兼容較好,因此當(dāng)你曾經(jīng)冒險(xiǎn)采用 Ruby on Rails、ASP.NET、PHP 等其它環(huán)境時(shí),你的 JavaScript 技能將是必需的。你仍然需要學(xué)習(xí) HTML 和一些 CSS,通過 JavaScript 來開發(fā)強(qiáng)壯的 web 應(yīng)用程序。熱門技術(shù):語言是建立了,但是行業(yè)本身找到了帶有 JavaScript 知識(shí)和技能的語言。看看招聘職位,你將看到趨勢。不是你哥們兒的 JavaScript
我過去聽說 JavaScript 被描述成易于學(xué)習(xí),卻難以掌握。對于很多語言,可能都是這樣,但是 web 的 JavaScript 飽和程度意味著,初學(xué)的開發(fā)者可以從其它網(wǎng)站快速拷貝經(jīng)過檢驗(yàn)的代碼,做些必要修改就可以使用,而不需要完全理解代碼。
如今 JavaScript 是 web 的中堅(jiān)力量,因此那些想成為 web 開發(fā)者的人們,應(yīng)該集中精力于它,以作為學(xué)習(xí)的第一門語言。
你同意嗎?如果你不同意,那么你認(rèn)為想找 web 開發(fā)工作的開發(fā)者應(yīng)該學(xué)習(xí)的第一門語言是哪種?在評(píng)論里告訴我們。
譯者注:
《為什么我不推薦 JavsScript 為首選編程語言》提供了相反的觀點(diǎn)。《為什么 JavaScript 是你應(yīng)當(dāng)學(xué)習(xí)的下一個(gè)(或第一個(gè))編程語言》英文原文:Learn JavaScript if you want to land a web development job 翻譯: labazhou
相關(guān)文章:
1. Gitlab CI-CD自動(dòng)化部署SpringBoot項(xiàng)目的方法步驟2. 基于javascript處理二進(jìn)制圖片流過程詳解3. ajax請求添加自定義header參數(shù)代碼4. Java Lock接口實(shí)現(xiàn)原理及實(shí)例解析5. 詳談ajax返回?cái)?shù)據(jù)成功 卻進(jìn)入error的方法6. axios和ajax的區(qū)別點(diǎn)總結(jié)7. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)8. 淺談SpringMVC jsp前臺(tái)獲取參數(shù)的方式 EL表達(dá)式9. ASP中解決“對象關(guān)閉時(shí),不允許操作。”的詭異問題……10. 利用CSS3新特性創(chuàng)建透明邊框三角
