起步卑微的JavaScript:是如何成为大热编程语言

JavaScript的卑微起步始于 1995 年,是由当时在 Netscape 通信公司工作的 Brendan Eich在短短10天内创建的。从那时起,JavaScript 已经走过了漫长的道路,从一个让网站变得漂亮的工具变成了一种严肃的编程语言。

在其早期,JavaScript 被认为是一种视觉工具,它使网站变得更有趣和更有吸引力。像 Jakarta Server Pages(即 JSP,以前称作 JavaServer Pages)这样的语言曾经用来完成渲染网页的繁重工作,而 JavaScript 则被用来创建基本的交互、视觉增强和动画。

长期以来,HTML、CSS 和 JavaScript 之间的分界并不明确。前端开发主要由 HTML、CSS 和 JavaScript 组成,形成了标准 Web 技术的“多层蛋糕”。

起步卑微的JavaScript:是如何成为大热编程语言?
标准网络技术的“多层蛋糕”(Mozilla 开发者网络,CC BY-SA 4.0)

HTML 和 CSS 为内容提供结构、格式和样式。一旦网页要做一些超越了显示静态内容的事情,就是 JavaScript 的用武之地。Ecma 国际部开发了 JavaScript 规范,万维网联盟World Wide Web Consortium(W3C)开发了 HTML 和 CSS 规范。

JavaScript 是如何成为最受欢迎的编程语言的,背后有一段漫长的历史。早在 20 世纪 90 年代,Java 是王者,不可避免的人们会与它进行比较。许多工程师认为 JavaScript 不是一门好的编程语言,因为它缺乏对面向对象编程的支持。

尽管当时并不明显,但其实 JavaScript 的对象模型和功能特性在其第一个版本中就已经出现了。

1995 年 JavaScript 匆匆发布后,网景公司将其提交给了欧洲计算机制造商协会European Computer Manufacturers Association(ECMA)国际部进行标准化。由此产生了 ECMAScript,这是一个 JavaScript 标准,旨在确保不同 Web 浏览器之间网页的互操作性。ECMAScript 1 于 1997 年 6 月问世,帮助推进了 JavaScript 的标准化。

在此期间,PHP 和 JSP 成为了服务器端编程语言的流行选择。JSP 作为通用网关接口Common Gateway Interface(CGI)的首选替代方案获得了突出的地位,因为它可以在 HTML 中嵌入 Java 代码。虽然它很受欢迎,但开发人员发现将 Java 嵌入 HTML 中是不自然的。

此外,即使是 HTML 上最简单的文本变化,JSP 也必须经历一个耗时的生命周期。在今天的微服务世界里,面向 JSP 的页面被认为是技术债务。

PHP 的工作原理与 JSP 类似,但 PHP 代码以一个通用网关接口(CGI)的可执行文件来处理。基于 PHP 的 Web 应用比基于 JSP 的应用更容易部署。总的来说,使用 PHP 更容易上手和运行。

伴随着 2006 年 jQuery 的发布,JavaScript 的应用越来越多。jQuery 是一个多用途的 JavaScript 库,简化了繁琐的文档对象模型Document Object Model(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 如此受欢迎。

起步卑微的JavaScript:是如何成为大热编程语言?

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注