JavaScript的由来, 浏览器的20年
在很久以前那时候还没有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就越来越火了, 然后Microsoft和navigator浏览器大战就开始了。

现在就有两款浏览器了, 而且微软和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年:

作者: NONO
出处:http://www.cnblogs.com/diligenceday/
QQ:287101329
JavaScript的由来, 浏览器的20年的更多相关文章
- 第一百一十一节,JavaScript,BOM浏览器对象模型
JavaScript,BOM浏览器对象模型 学习要点: 1.window对象 2.location对象 3.history对象 BOM也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM ...
- JavaScript单线程和浏览器事件循环简述
JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...
- DalekJS – 基于 JavaScript 实现跨浏览器的自动化测试
在 Web 项目中,浏览器兼容以及跨浏览器测试是最重要的也是最费劲的工作.DalekJS 是一个基于 JavaScript(或 Node.js) 的免费和开源的自动化测试接口.它能够同时运行测试一组流 ...
- 用Javascript编写Chrome浏览器插件
原文:http://homepage.yesky.com/62/11206062.shtml 用Javascript编写Chrome浏览器插件 2010-04-12 07:30 来源:天极网软件频道 ...
- 通过JavaScript判断当前浏览器版本
从别人处拷贝,只用于自己学习之用.参考源自:http://www.cnblogs.com/leadzen/archive/2008/09/06/1285764.html JavaScript是前端开发 ...
- javascript 判断微信浏览器
原文:javascript 判断微信浏览器 用js判断当前环境是否是是微信内置浏览器有两个方法: 1.判断useragent 2.判断是否支持微信内置浏览器才支持的一些方法,比如WeixinJSBri ...
- javascript检测当前浏览器是否为微信浏览器
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- ECMA262,JavaScript引擎,浏览器
相关阅读:https://www.cnblogs.com/970119449blog/p/8080133.html 相关阅读:https://www.jb51.net/article/75888.ht ...
- 不使用JavaScript让IE浏览器支持HTML5元素——张鑫旭
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2515 如果我们不做什 ...
- Javascript判断Chrome浏览器
今天分享一下如何通过Javascript来判断Chrome浏览器,这里是通过userAgent判断的,检测一下userAgent返回的字符串里面是否包含“Chrome”, 具体怎么检测是通过index ...
随机推荐
- android代码优化----ListView中自定义adapter的封装(ListView的模板写法)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- POJ2488A Knight's Journey[DFS]
A Knight's Journey Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 41936 Accepted: 14 ...
- Codevs1378选课[树形DP|两种做法(多叉转二叉|树形DP+分组背包)---(▼皿▼#)----^___^]
题目描述 Description 学校实行学分制.每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分.学校开设了N(N<300)门的选修课程,每个学生可选课程的数量M是给定的.学生选修 ...
- Unity 5.3 安装完没有Android(安卓)或IOS Module(模块)?
Unity5.3 模块独立 Unity5.3把各个模块分开来了,主程序安装包更轻巧,在官网下载的话,能下载到 Unity安装程序,Unity编辑器等一些资源package,其它的模块可以通过Unity ...
- 使用adb shell卸载程序
个人感觉在命令行中卸载程序要比在手机界面卸载程序要方便许多,配合命令行下的报名查看包名的命令就更加方便了. 1.查看应用准确包名 adb shell pm list package -f |grep ...
- VMWare发布ESXi 6.0
发布声明 https://www.vmware.com/support/vsphere6/doc/vsphere-esxi-vcenter-server-60-release-notes.html 获 ...
- C# socket UDPの异步链接
基于C#的UDP异步连接,在本机上通过测试
- 添加Distributor失败
上周做了一个case,客户无法为SQL Server instance配置remote distributor. 下面分享一下排查问题的过程,希望对您排查类似的问题所有帮助. 客户的环境中的SQL S ...
- CentOS VMware 下SSH配置方法详解
1.安装SSH[root@sample ~]# yum install ssh2.启动SSH[root@sample ~]# service sshd start3.设置开机运行[root@sampl ...
- consumer group
Kafka消费组(consumer group)一直以来都想写一点关于kafka consumer的东西,特别是关于新版consumer的中文资料很少.最近Kafka社区邮件组已经在讨论是否应该正式使 ...