在很久以前那时候还没有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. POJ 1556 The Doors【最短路+线段相交】

    思路:暴力判断每个点连成的线段是否被墙挡住,构建图.求最短路. 思路很简单,但是实现比较复杂,模版一定要可靠. #include<stdio.h> #include<string.h ...

  2. POJ3260The Fewest Coins[背包]

    The Fewest Coins Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6299   Accepted: 1922 ...

  3. GitHub 下载文件夹

    工具 TortoiseSVN 步骤 1.打开要下载的项目,选中要下载的文件夹,右键 选择 复制链接地址 2.把链接中的 tree/master 改成 trunk ,(trunk是master分支,可以 ...

  4. UI的重用性

    UI抽取思路 一款手机游戏中UI有几十个到上百个不等,如果一个一个做这些UI,无疑会花费很多时间. 近期我们的游戏UI已经是第N次改版了,经过这N多次的修改,我总结了UI其实有很多的共性(就是相同性) ...

  5. [No000032]程序员的年龄天花板

    程序员职业生涯中流行这这样一个定律:35岁定律,那35岁以上的老程序员都干吗去了呢?为了讨论程序员的职业寿命,我们先得给公司或者团队分分类.大概有这么三类: 外包型 项目型 产品型 咱们一一来说一下吧 ...

  6. 弹性返回顶部JS代码

    弹性返回顶部JS代码 弹性返回顶部JS代码点击下载

  7. Linode Centos6.5从零开始装环境...流水账

    安装JDK 下载. 先通过oracle网站, 下载, 得到link后, 在linode命令行里wget, 速度飞快, 但是文件名要改下. 其中JDK6是.bin, 其他都是tar.gz, bin直接执 ...

  8. C#将JSON字符串对象序列化与反序列化

    C#将对象序列化成JSON字符串 public string GetJsonString() { List<Product> products = new List<Product& ...

  9. 探索Windows 8.1 Update 新功能点

    Windows 8.1 Update 已经使用一段时间了,整体感觉比Windows 8.1 方便了不少,尤其是对鼠标用户来说更是进行了很多优化. 应用磁贴尺寸 在应用磁贴点击鼠标右键,有小.中.宽.大 ...

  10. C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 标准省市县数据的公司选择窗口实现

    若全国各地有上千个分公司,加盟店,网点,那就需要一个友善的选择分公司的功能,得有标准的全国省市县的划分数据.这样有了牢靠的基础数据后,才能开发程序得心应手了.当习惯了开发一个公司内部系统时,全国性大公 ...