JavaScript 是如何成為一門嚴肅的編程語言的
JavaScript 的卑微起步始於 1995 年,是由當時在 Netscape 通信公司工作的 Brendan Eich 在短短 10 天內創建的。從那時起,JavaScript 已經走過了漫長的道路,從一個讓網站變得漂亮的工具變成了一種嚴肅的編程語言。
在其早期,JavaScript 被認為是一種視覺工具,它使網站變得更有趣和更有吸引力。像 Jakarta Server Pages(即 JSP,以前稱作 JavaServer Pages)這樣的語言曾經用來完成渲染網頁的繁重工作,而 JavaScript 則被用來創建基本的交互、視覺增強和動畫。
長期以來,HTML、CSS 和 JavaScript 之間的分界並不明確。前端開發主要由 HTML、CSS 和 JavaScript 組成,形成了標準 Web 技術的「多層蛋糕」。
![標準 Web 技術的多層蛋糕](/data/attachment/album/202011/12/011044zaggygpwldcynwfa.png "Layer cake of standard web technologies")
標準網路技術的「多層蛋糕」(Mozilla 開發者網路,CC BY-SA 4.0)
HTML 和 CSS 為內容提供結構、格式和樣式。一旦網頁要做一些超越了顯示靜態內容的事情,就是 JavaScript 的用武之地。Ecma 國際部開發了 JavaScript 規範, 萬維網聯盟 (W3C)開發了 HTML 和 CSS 規範。
JavaScript 是如何獲得突出地位的
JavaScript 是如何成為最受歡迎的編程語言的,背後有一段漫長的歷史。早在 20 世紀 90 年代,Java 是王者,不可避免的人們會與它進行比較。許多工程師認為 JavaScript 不是一門好的編程語言,因為它缺乏對面向對象編程的支持。儘管當時並不明顯,但其實 JavaScript 的對象模型和功能特性在其第一個版本中就已經出現了。
1995 年 JavaScript 匆匆發布後,網景公司將其提交給了 歐洲計算機製造商協會 (ECMA)國際部進行標準化。由此產生了 ECMAScript,這是一個 JavaScript 標準,旨在確保不同 Web 瀏覽器之間網頁的互操作性。ECMAScript 1 於 1997 年 6 月問世,幫助推進了 JavaScript 的標準化。
在此期間,PHP 和 JSP 成為了伺服器端編程語言的流行選擇。JSP 作為 通用網關介面 (CGI)的首選替代方案獲得了突出的地位,因為它可以在 HTML 中嵌入 Java 代碼。雖然它很受歡迎,但開發人員發現將 Java 嵌入 HTML 中是不自然的。此外,即使是 HTML 上最簡單的文本變化,JSP 也必須經歷一個耗時的生命周期。在今天的微服務世界裡,面向 JSP 的頁面被認為是技術債務。
PHP 的工作原理與 JSP 類似,但 PHP 代碼以一個通用網關介面(CGI)的可執行文件來處理。基於 PHP 的 Web 應用比基於 JSP 的應用更容易部署。總的來說,使用 PHP 更容易上手和運行。今天,PHP 和 JavaScript 是創建動態網站最流行的組合之一:PHP 作為伺服器端腳本,JavaScript 作為客戶端腳本。
伴隨著 2006 年 jQuery 的發布,JavaScript 的應用越來越多。jQuery 是一個多用途的 JavaScript 庫,簡化了繁瑣的 文檔對象模型 (DOM)管理、事件處理和 Ajax。
2009 年 Node.js 的發布是 JavaScript 發展的轉折點。開發者現在可以用 JavaScript 編寫伺服器端腳本了。緊隨其後的是 2010 年發布的 Backbone.js 和 AngularJS 等框架。這導致了出現了使用單一語言進行全棧開發的概念。
2015 年,Ecma 國際部發布了 ECMAScript 6(ES6),它為編寫複雜的應用程序增加了包括類聲明在內的重要新語法。其他新特性還包括迭代器、箭頭函數表達式、let
和 const
關鍵字、類型化數組、新的集合(映射、集合和 WeakMap)、Promise、字元串的模板字元以及許多其它很酷的特性。後來的版本又繼續增加了更多的功能,使 JavaScript 更加強大、精簡和可靠。
總結
在過去的 20 年裡,JavaScript 有了長足的進步。現在大多數瀏覽器都在爭相滿足合規性,因此最新的規範推出得更快。
根據你的項目需求,有大量穩定的 JavaScript 框架可供選擇,包括最流行的 React、Angular 和 Vue.js 等等。在本系列的下一篇文章中,我將深入探討為什麼 JavaScript 如此受歡迎。
via: https://opensource.com/article/20/10/history-javascript
作者:Nimisha Mukherjee 選題:lujun9972 譯者:wxy 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive