軟件行業(yè)在不斷發(fā)展,許多語(yǔ)言在過(guò)去幾年還是流行前沿,但是在今天卻已經(jīng)顯得冗余或者過(guò)時(shí)了。如今,新的語(yǔ)言以驚人的頻率不斷涌現(xiàn),以滿足用戶不斷變化的需求。這些語(yǔ)言正被用來(lái)建立一類擁有許多先進(jìn)功能并且可以迎合苛刻商業(yè)需求的應(yīng)用。
在功能上,面向?qū)ο蠛湍_本語(yǔ)言這幾個(gè)選項(xiàng)上,開(kāi)發(fā)者有許多選擇。
為了保持和程序世界的聯(lián)系,開(kāi)發(fā)人員(無(wú)論是專業(yè)或業(yè)余的)都需要及時(shí)跟進(jìn)所有新出現(xiàn)的編程語(yǔ)言?梢韵胂,讓開(kāi)發(fā)者掌握所有的編程語(yǔ)言這幾乎是不可能的。但是,新語(yǔ)言的到來(lái)并不意味著需要對(duì)現(xiàn)有編程技能進(jìn)行一次大量的翻修。有一些語(yǔ)言已經(jīng)應(yīng)對(duì)了這種來(lái)自新語(yǔ)言的沖擊。這些編程語(yǔ)言已經(jīng)存在了很長(zhǎng)一段時(shí)間,也不會(huì)很快就消失。
JavaScript 就是一個(gè)這樣的語(yǔ)言。它一直出現(xiàn)在流行編程語(yǔ)言的榜單上,并且可以說(shuō)開(kāi)發(fā)者一遍又一遍的愛(ài)上了它。令人驚訝的事實(shí)是 JavaScript 也有一部分的反對(duì)者,它承受著并將繼續(xù)承受他們的批評(píng)。直到幾年前,開(kāi)發(fā)者都沒(méi)有把它當(dāng)回事,甚至質(zhì)疑它是否可以被認(rèn)為是一個(gè)真正的編程語(yǔ)言(與此同時(shí),他們繼續(xù)在使用它)。
這些評(píng)論沒(méi)有阻礙到它的無(wú)處不在;這種語(yǔ)言仍然到處被使用 – 從前端網(wǎng)頁(yè)到移動(dòng) Web 應(yīng)用程序之間的一切。即使是那些不是很熱衷于 JavaScript 有他想要的功能的人,因?yàn)?JavaScript 已經(jīng)進(jìn)化來(lái)滿足業(yè)界不斷變化的需求。
那么,什么是JavaScript?
JavaScript 是一種控制瀏覽器內(nèi)部交互行為的計(jì)算機(jī)編程語(yǔ)言。
它支持所有流行的瀏覽器,如微軟的 Internet Explorer(從版本3.0開(kāi)始),F(xiàn)ireFox,Safari,Opera,Google Chrome 等。
JavaScript的發(fā)展史
讓我們來(lái)看看是什么導(dǎo)致了 JavaScript 的誕生。要實(shí)現(xiàn)類似 Apple 公司 HyperCard 的東西——主要是為了幫助開(kāi)發(fā)者輕松地構(gòu)建應(yīng)用程序,Netscape 公司才開(kāi)發(fā)了 LiveScript。
之后,LiveScript 被重命名為 JavaScript。JavaScript 原本是一個(gè)客戶端語(yǔ)言,后來(lái)遷移為服務(wù)端語(yǔ)言,從而成為一個(gè)無(wú)處不在的語(yǔ)言。
為什么JavaScript是開(kāi)發(fā)者的第一選擇?
今年年初,行業(yè)分析公司 RedMonk 的,發(fā)布了一個(gè)編程語(yǔ)言流行度排行榜;根據(jù)這個(gè)榜單可以看到JavaScript 高居榜首,緊隨其后的是 Java,PHP,C# 和 Python。
即使人們對(duì)其質(zhì)疑了很多年,到此對(duì)于 JavaScript 的流行就沒(méi)有什么可以質(zhì)疑的了。它是被開(kāi)發(fā)者用起來(lái)最靈活有效的語(yǔ)言之一。據(jù)一項(xiàng)調(diào)查顯示,JavaScript 被88%的網(wǎng)站所使用。你會(huì)發(fā)現(xiàn)JavaScript 不僅僅出現(xiàn)在 Web 站點(diǎn)上,同時(shí)也出現(xiàn)在移動(dòng)站點(diǎn),游戲和 Web 應(yīng)用上面。
讓我們來(lái)看看是什么優(yōu)點(diǎn)讓JavaScript在開(kāi)發(fā)者中如此受歡迎:
- 客戶端運(yùn)行:這意味著該代碼由用戶的處理器運(yùn)行,而不是服務(wù)器,從而節(jié)省了帶寬并降低了服務(wù)器的負(fù)荷。
- 簡(jiǎn)單易學(xué):這種語(yǔ)言的語(yǔ)法類似于簡(jiǎn)單的英語(yǔ),開(kāi)發(fā)人員更容易學(xué)習(xí)。
- 擴(kuò)展功能:第三方插件幫助 JavaScript 開(kāi)發(fā)人員編寫(xiě)能夠在必要的網(wǎng)頁(yè)被利用的代碼片段。
- 實(shí)施簡(jiǎn)單:能夠使用相同的語(yǔ)言編寫(xiě)前端和后端,使開(kāi)發(fā)團(tuán)隊(duì)的工作變得更輕松。
- 廉價(jià)的語(yǔ)言:它不需要任何特殊的編譯器或編輯器。開(kāi)發(fā)人員需要的僅僅是一個(gè)文本編輯器和瀏覽器來(lái)運(yùn)行 JavaScript 代碼。
- 用戶更方便:游客不再需要為了填寫(xiě)錯(cuò)了一個(gè)錯(cuò)別字而填寫(xiě)整個(gè)表單。用 JavaScript,每個(gè)字段可以在用戶輸入的時(shí)候被驗(yàn)證;當(dāng)他們犯錯(cuò)時(shí)可以得到一個(gè)幾十的提示。
- 瀏覽器內(nèi)置 JavaScript:網(wǎng)站的用戶不需要特殊的軟件和下載來(lái)查看 JavaScript;每個(gè)用戶都會(huì)獲得相同的體驗(yàn)。
JavaScript最好的例子
Web 開(kāi)發(fā)人員可以使用 JavaScript 添加個(gè)性網(wǎng)站。JavaScript 是瀏覽器的原生語(yǔ)言。如果你想建立單頁(yè) Web 應(yīng)用程序,只有一種語(yǔ)言可以創(chuàng)建客戶端單頁(yè)程序,那就是 JavaScript。
一些流行的網(wǎng)站使用了 JavaScript,包括:Google,F(xiàn)acebook,YouTube,Yahoo,Wikipedia,Amazon 和 Twitter。它是 Github 上使用最多的語(yǔ)言。也有許多的 Web 應(yīng)用程序避免使用 HTML,完全使用 JavaScript 編碼,其中包括 Gmail 和大多數(shù) Google 的應(yīng)用程序。
Google 在網(wǎng)頁(yè)上執(zhí)行了 JavaScript 來(lái)更準(zhǔn)確的索引網(wǎng)頁(yè)。
為什么JavaScript是具有價(jià)值的?
有多種原因使 JavaScript 成為一個(gè)主流編程語(yǔ)言。讓我們來(lái)看看其中的幾個(gè):
- 去年亞馬遜推出 AWS SDK 的 JavaScript 版本。這讓開(kāi)發(fā)者能夠編寫(xiě)一個(gè)從瀏覽器訪問(wèn) AWS 服務(wù)的程序,而無(wú)需編寫(xiě)任何服務(wù)器端代碼也不需要為此配置一個(gè)主機(jī)服務(wù)器。
- 谷歌推出了 V8 JavaScript 引擎。
- 你可以用 JavaScript 編程硬件,甚至包括播放 DVD。
- GitHub 上的 Atom 編輯器幾乎完全是由 CoffeeScript 構(gòu)建的。而 CoffeeScript 可以編譯為JavaScript。
JavaScript的未來(lái)
比問(wèn)“JavaScript 的未來(lái)是什么?”更正確的說(shuō)法是“JavaScript 就是未來(lái)”。
在這個(gè)問(wèn)題的一個(gè)回答中:“在未來(lái),什么是最有了解價(jià)值的編程語(yǔ)言,為什么”在 Quora上,Kevin Suttle,在 IBM 設(shè)計(jì)部的一個(gè)資深前端開(kāi)發(fā)人員引述 William Ting 的話來(lái)回答同樣的問(wèn)題,他說(shuō):“只要人們使用互聯(lián)網(wǎng) JavaScript 就會(huì)留下來(lái)。”
JavaScript 是通過(guò)補(bǔ)充而發(fā)展起來(lái)的,比如 Node.js,jQuery(一個(gè)庫(kù)),JSON(JavaScript 對(duì)象符號(hào)),MongoDB 和 ES6 生成器。這個(gè)讓它成為了開(kāi)發(fā)者最重要的語(yǔ)言,也因此讓它不會(huì)被拋棄。
最好的還在后頭!
上述的所有觀點(diǎn)說(shuō)清楚了一件事:JavaScript 被留下來(lái)了。JavaScript 被其他語(yǔ)言取代幾乎是不可能的。事實(shí)上,可以說(shuō)它擁有了擔(dān)保人。它不僅可以維持現(xiàn)狀更可以把握住萬(wàn)維網(wǎng)。