1995年12月4日,来自Netscape Communications和Sun Microsystems的联合新闻稿宣布JavaScript的到来 。 该语言得到了28家行业领先公司的支持,尽管至今仍鲜有幸存。

JavaScript被大胆地描述为“一种开放的,跨平台的对象脚本语言,用于在企业网络和Internet上创建和自定义应用程序。” 声明显示:

JavaScript语言补充了Sun业界领先的面向对象的跨平台编程语言Java。

JavaScript与Visual Basic的相似之处在于,几乎没有编程经验的人都可以使用JavaScript快速构建复杂的应用程序。

真的吗?!

Brendan Eich快速设计的语言于1995年9月随Netscape Navigator 2.0的Beta版一起发布。该项目的代号为Mocha,最初的名称为LiveScript。 对JavaScript的更改与Netscape向Navigator Web浏览器添加了Java applet支持相吻合:

JavaScript脚本旨在在客户端和服务器上运行,以修改Java对象的属性和行为。

这是1995年的明智营销策略,当时Java被誉为解决所有IT问题的解决方案。 该新闻声明令人困惑地暗示,JavaScript以某种方式与Java链接在一起-至今仍在引起混乱。 JavaScript既不是Java也不是缩减脚本语言。 引用Jeremy Keith的话 :

Java和JavaScript一样,就像火腿一样。

一年之内,Microsoft已将JScript添加到Internet Explorer。 该语言在功能上是相同的(古怪的和所有的),但是使用不同的名称以避免Sun商标问题。

尽管推出了Netscape Enterprise Server,经典ASP和其他几个系统,JavaScript仍在服务器端挣扎。 它从未取得PHP,.NET和Java本身的广泛成功。 Node.js现在开始产生影响,但是还处于初期。

但是,客户端JavaScript立刻受到欢迎。 在CSS出现之前的日子里,简单的浏览器功能很困难,而且沙盒化的Java小程序无法与整个页面进行交互。 不久之后,开发人员便添加了简单的表单验证器,计算器和动画。

该语言与Internet Explorer中的Microsoft VBScript相比具有早期竞争优势,但是当Netscape Navigator仍然是顶级浏览器时,这绝不是偶然的机会。 (奇怪的是,即使也可以使用JScript,VBScript是服务器端ASP中最常用的语言。)

1996年11月,Netscape将JavaScript提交给ECMA International,以作为行业标准进行考虑,并且不久之后出现了第一版ECMA-262规范。

然后是黑暗时代。

在1990年代末的第一次浏览器大战中,JavaScript的地位和实用性受到质疑。 Netscape和Microsoft为松散命名为“动态HTML”或DHTML的浏览器实现了完全不同的模型。 编写跨浏览器的应用程序几乎是不可能的,因此许多开发人员放弃了客户端开发,以使用更简单的服务器环境。

公平地说,问题不是由JavaScript引起的,而是可笑的不兼容浏览器API。 如果您认为供应商关系现在已经受到影响,那么Netscape和Microsoft就是正面对立。 Netscape吹嘘该操作系统已死,所有应用程序均基于浏览器。 尽管这可能是具有前瞻性的想法,但该技术无法满足实际需求,因此很快转向了蒸汽系统。 微软采取了报复措施,将IE免费与Windows捆绑在一起,切断了Netscape的收入来源。 尽管很难想象现在没有默认浏览器的操作系统,但该决定导致了昂贵的法庭诉讼和罚款。

IE赢得了第一次浏览器大战。 很少有用户注意到竞争对手的小规模竞争。 IE仅仅比Netscape更好,后者的版本4是一个糟糕的软件。 单个浏览器对JavaScript开发人员来说应该是不错的选择,但是IE的开发工具对于无法使用来说是基本的。 我仍然对许多“对象不是第0行的对象的实例”错误感到恶梦。 微软随后放弃了浏览器的开发,而JavaScript的局面显得黯淡。

幸运的是,由于许多因素,JavaScript重生了:

  • Firefox(Phoenix)于2002年出现。Netscape开源了他们的浏览器代码,并于1998年启动了Mozilla项目。Gecko渲染引擎放弃了旧的代码库,该引擎最初出现在the肿,有故障且缓慢的Mozilla Suite中。 Firefox是一种试验性的独立浏览器,由于它比老化的IE6更好,并提供了卓越的调试工具,最终导致了革命性的Firebug,该浏览器因此迅速受到开发人员的欢迎。
  • Ajax在2005年兴起。XMLHttpRequest在1999年由Microsoft引入,但很少有开发者利用它。 杰西·詹姆斯·加勒特(Jesse James Garrett)的文章《 Ajax:Web应用程序的新方法》给了我们一个时髦的流行语,使我们重新考虑各种可能性。
  • Google地图(2005)和Gmail(2004)。 谷歌在构想该术语之前就创建了尖端的Ajax项目。 现在,我们有了一个时髦的词汇,并列举了一些很好的例子来评估潜力。
  • 客户端库的介绍。 Prototype,script.aculo.us,Mootools和jQuery之类的项目可消除浏览器不一致的情况,并使开发更加轻松。
  • 对客户端开发的重新评估,包括SitePoint和Douglas Crockford的2007 JavaScript:The Good Parts的书籍和视频。

Web的指数级增长已经使JavaScript成为有史以来最常用的计算机语言。 到本世纪中叶,开发人员开始意识到它可以用于复杂的Web应用程序,该应用程序与台式机替代品一样好(甚至更好)。

如今,JavaScript无处不在。 业界对该语言进行了大量投资,它已从浏览器转移到服务器开发(Node.js),操作系统开发(Windows 8,Chrome和Firefox OS),甚至嵌入式硬件控制器 。

尽管如此,JavaScript还是被误解了。 名称和原始的Netscape新闻声明并没有帮助,但是许多开发人员继续对这种语言感到be贬。 如果您来自Java,C ++或C#之类的基于C的环境,那么JavaScript在语法上看起来很熟悉- 但事实并非如此 。 进入JavaScript思维方式并了解原型继承背后的潜力和简单的优雅,需要花费时间。 您使用它的次数越多,您就会越喜欢它。

JavaScript,祝您18岁生日快乐。 我们很少有人期望您达到这一里程碑,但我很高兴您做到了。

JavaScript还能再生存18年吗? 有什么能取代一种已经根深蒂固的Web和桌面开发语言的语言吗?

From: https://www.sitepoint/javascript-comes-age/

更多推荐

JavaScript走向成熟