在很久以前那时候还没有Yahoo,Google....人们还在用28.8kbit/s的"猫"上网, 用户注册或者登录的时候所有的验证都是在服务器验证的, 如果用户注册的时候用户名或者密码输入有误却提交了, 然后过了60秒服务器返回了一条消息说,"xxxx"错误, 用户疯了。

然后netscape navigator公司希望通过一种方式直接在客户端验证, 如果客户端验证通过, 那就再通过服务端验证,即减少了服务端的压力, 也提高了用户体验。

当时最牛逼的浏览器公司Netscape navigator决定开发一种客户端的语言, 委任公司的Brendan Eich (1964)进行开发:

  Brendan Eich 用10天写了javascript的第一个版本。  

1995年2月发布了第一个版本Netscape navigator2(mosaic是该浏览器的前身,只是mosaic浏览器被卖了,mosaic的开发者自己创建了公司重新生产浏览器,浏览器名字为Netscape),Netscape navigator2浏览器中嵌入了一种叫做livescript 的语言,同年1995年Sun公司将Oak语言改名为Java,正式向市场推出,Sun公司说java很牛逼,java貌似要开始改变世界了,Netscape决定要与Sun结盟,想要让java也能在浏览器中运行,网景公司的整个管理层,都是Java语言的信徒, Sun公司完全介入网页脚本语言的决策。 因此,Javascript后来就是Netscape和Sun两家公司一起携手推向市场的,所以就把语言重命名为Javascript....

  Brendan Eich 的设计思路是这样的:

()借鉴C语言的基本语法;
()借鉴Java语言的数据类型和内存管理;
()借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;
()借鉴Self语言,使用基于原型(prototype)的继承机制。

  所以,Javascript语言实际上是两种语言风格的混合产物----(简化的)函数式编程+(简化的)面向对象编程。 这是由Brendan Eich(函数式编程)与网景公司(面向对象编程)共同决定的。
  如果不是公司的决策,Brendan Eich绝不可能把Java作为Javascript设计的原型。作为设计者,他一点也不喜欢自己的这个作品:
  "与其说我爱Javascript,不如说我恨它。它是C语言和Self语言one night stand的产物。十八世纪英国文学家约翰逊博士说得好:'它的优秀之 处并非原创,它的原创之处并不优秀。' (the part that is good is not original, and the part that is original is not good.)"

虽然但是, 这款浏览器的发布使得Navigator获得巨大成功, 又发布了同款navigator3, 微软也眼红了, 1996年8月, 微软发布的IE浏览器中加入了一个名字为JScript的JavaScript实现, 然后js就越来越火了, 然后Microsoftnavigator浏览器大战就开始了。

现在就有两款浏览器了, 而且微软和Netscape各玩各的。

1997年以navigator 的JavaScript1.1版本的蓝本规范提交给了ECMA(欧洲计算机制造协会),协会指定了TC39(technical committe)完成该语言的跨平台的标准,年底完成了一个叫做ECMA262的语言标准, 该标准就是用来规范JS的;

   伴随着Windows 98系统的发售以及微软与ISP以及主机厂商的合作;可以加入IE专属标签的FrontPage软件的普及;对CSS的抢先支持, IE浏览器火了, Window 98自带IE 5.0.  浏览器战争结束了;

  1998年2月23日。网景公司内部成立Mozilla组织(Mozilla org),该组织独立运作来负责Mozilla Application Suite的研发。Mozilla Application Suite(简称Mozilla Suite)是一套自由的、跨平台的因特网应用套装软件,它的组件包括Navigator(网页浏览器)、Mail & Newsgroups(电子邮件客户端)和Composer(HTML编辑器)。3月31日,网景决定依托NPL(Netscape Public License,网景公共许可证)开放NN的源代码,意图在于吸引来大量的开发者完善软件。这一时期网景放弃了绿色蜥蜴的造型,开始使用一只凶猛的、线条粗犷的、红色的、类似霸王龙的形象。在后来看到的《Mozilla之书》“3:31”章节中明显可以看出反攻的意图。并且使用了“玛门(Mammon)” 这一闪米特族语汇,用其贪婪和财富的内涵来隐喻微软,在与“七宗罪”有关天主教教义中, 玛门(Mammon)是代表贪婪的恶魔。10月网景决定将Mozilla的源代码全部改写。

  1998年11月24日,AOL(American On Line,美国在线)以42亿美元免税换股的方式收购了网景。其后Mozilla组织在AOL的资助下继续进行研发,期间IE夺取了浏览器市场统治地位,并于2002年达到96%的峰值。

  2002年9月23日, Mozilla发布了Phoenix 0.1 :

  2003年4月14日,因为Phoenix 与BIOS制造商Phoenix Technologies的商标纠纷而更名为Firebird

  2004年2月9日Mozilla Firebird因为与名字为firebird的自由软件数据库再次更名成Mozilla Firefox(简称Firefox)。

  

  

  2003年1月7日,Safari发行测试版,并成为Mac OS X v10.3与之后的默认浏览器,也是iPhone与iPad和iPod touch的指定浏览器。

  Windows版本的首个测试版在2007年6月11日推出,支持Windows XP与Windows Vista,在2008年3月18日推出正式版,现已支持windows 7。

  2012年7月26日,随着苹果的“山狮”系统发布,Windows平台的Safari已经放弃开发。

  2007年,Mozilla似乎已经安定了下来。不像过去那么复杂多变,而是基本以一个商标或者品牌的形象出现(虽然大家还是习惯说只用 Mozilla描述基金会和公司)。5月30日,Mozilla放出了Firefox1.5的最后一版(1.5.0.12),并且公布在07年的第三季度放出3.0的正式版。前两个季度Mozilla旗下的Firefox和Thunderbird都在保持持续的增长,不仅在欧洲市场发展稳定而且在亚洲市场也开始被认同。6月下旬Mozilla基金会决定在中国大陆投资成立子公司谋智网络公司(谋智,Mozilla的音译),由前微软Windows Live中国区总经理宫力出任董事长兼CEO。并于7月正式挂牌营业。

  2008年9月2日Google Chrome 首个Beta版本发布版本号:0.2.149.27

  

 2009年2月11日,移动版的Firefox,Fennec pre-alpha for HTC Touch Pro发布:

  

  2015现在,chorme42,firefox37 ,IE11, 一晃20年

  Netscape(网景公司)

  brendaneich.com

  ECMA262规范

  mosaic浏览器

   Javascript20年的PPT

  编程语言那么多,为什么Google独爱JS?

作者: NONO
出处:http://www.cnblogs.com/diligenceday/

QQ:287101329

JavaScript的由来, 浏览器的20年的更多相关文章

  1. 第一百一十一节,JavaScript,BOM浏览器对象模型

    JavaScript,BOM浏览器对象模型 学习要点: 1.window对象 2.location对象 3.history对象 BOM也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM ...

  2. JavaScript单线程和浏览器事件循环简述

    JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...

  3. DalekJS – 基于 JavaScript 实现跨浏览器的自动化测试

    在 Web 项目中,浏览器兼容以及跨浏览器测试是最重要的也是最费劲的工作.DalekJS 是一个基于 JavaScript(或 Node.js) 的免费和开源的自动化测试接口.它能够同时运行测试一组流 ...

  4. 用Javascript编写Chrome浏览器插件

    原文:http://homepage.yesky.com/62/11206062.shtml 用Javascript编写Chrome浏览器插件 2010-04-12 07:30 来源:天极网软件频道 ...

  5. 通过JavaScript判断当前浏览器版本

    从别人处拷贝,只用于自己学习之用.参考源自:http://www.cnblogs.com/leadzen/archive/2008/09/06/1285764.html JavaScript是前端开发 ...

  6. javascript 判断微信浏览器

    原文:javascript 判断微信浏览器 用js判断当前环境是否是是微信内置浏览器有两个方法: 1.判断useragent 2.判断是否支持微信内置浏览器才支持的一些方法,比如WeixinJSBri ...

  7. javascript检测当前浏览器是否为微信浏览器

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  8. ECMA262,JavaScript引擎,浏览器

    相关阅读:https://www.cnblogs.com/970119449blog/p/8080133.html 相关阅读:https://www.jb51.net/article/75888.ht ...

  9. 不使用JavaScript让IE浏览器支持HTML5元素——张鑫旭

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2515 如果我们不做什 ...

  10. Javascript判断Chrome浏览器

    今天分享一下如何通过Javascript来判断Chrome浏览器,这里是通过userAgent判断的,检测一下userAgent返回的字符串里面是否包含“Chrome”, 具体怎么检测是通过index ...

随机推荐

  1. Stunnel使用

     建立加密隧道 使用 Stunnel 建立加密隧道 附件中的 Server 和 Clinet 都是已经配置好了的,只需修改 Server 的 stunnel.conf 的 connect 为实际的ip ...

  2. android studio 中 .9.png的制作

    折腾好久,最后在一个群里面咨询一个朋友才弄好的,用的是1.2.2版,感觉对.9的支持不太好, 1,用一张干净的png图片放在mipmap里面. 2,点击图片右键最后一项,create 9-patch ...

  3. js正则验证邮箱、手机号、年龄

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. rpc使用举例

    #server.py from SimpleXMLRPCServer import SimpleXMLRPCServer def add(x,y): return x+y server=SimpleX ...

  5. Meet Python: little notes 3 - function

    Source: http://www.liaoxuefeng.com/ ♥ Function In python, name of a function could be assigned to a ...

  6. Markdown:认识&入门

    来源:http://sspai.com/25137 一.认识 Markdown 在刚才的导语里提到,Markdown 是一种用来写作的轻量级「标记语言」,它用简洁的语法代替排版,而不像一般我们用的字处 ...

  7. HRV基础

    Source: Mostly from wiki. Heart rate variability (HRV,心率变异性) is the physiological phenomenon of vari ...

  8. Linux 网络编程详解四(流协议与粘包)

    TCP/IP协议是一种流协议,流协议是字节流,只有开始和结束,包与包之间没有边界,所以容易产生粘包,但是不会丢包. UDP/IP协议是数据报,有边界,不存在粘包,但是可能丢包. 产生粘包问题的原因 . ...

  9. 纯手工打造漂亮的垂直时间轴,使用最简单的HTML+CSS+JQUERY完成100个版本更新记录的华丽转身!

    前言 FineUI控件库发展至今已经有 5 个年头,目前论坛注册的QQ会员 5000 多人,捐赠用户 500 多人(捐赠用户转化率达到10%以上,在国内开源领域相信这是一个梦幻数字!也足以证明Fine ...

  10. IntelliJ IDEA,代码行宽度超出限制时自动换行

    转自:http://my.oschina.net/angerbaby/blog/471351 当我们使用IDE写代码时,为了保证代码的可阅读性和优雅性,通常会借助IDE的代码风格设置功能,令IDE智能 ...