前端的诞生 - 1. HTML与万维网

2008年09年02日,Google开放了Chrome的测试版的下载, 同时也发布新的JavaScript渲染引擎V8,宣布了V8引擎的诞生,这不仅极大地提升了浏览器性能,而且给前端带来了许多新的可能,很多人称这是一个前端技术发展的转折点,是前端技术大爆炸的开端,2009年Ryan Dahl结合Google的v8设计出了Nodejs,并且在JSConf上展示了Node.js项目,为前端的技术变革做好了充分的准备,紧随其后AMD,CMD的前端模块化解决方案出现,Angular,Ember,React,Vue的各种框架应运而生,npm包管理工具发布,grunt,gulp,webpack等自动化构建工具…

在一切开始之前,我们先来看看前端发展的历史,这能帮助我们更好的理解一些事物的产生,以及一些问题遗留的原因,了解他为什么会这样设计,没有一个技术能解决一切问题,每一个技术的创造者都是为了解决他所面对的一些不得不解决的痛点。

前端包括的基础的三个部分是HTML,JAVASCRIPT,CSS,但实际他们并不是一起产生的,也不是同时间的产物,要了解这一切,让我们先把时间回到万维网出现之前去了解这一切。

万维网与HTML

有很多什么什么技术之父,但是并不是一个人,因为很多技术并不是又单一一种的技术构成或者发明的。但说起万维网之父,确实就一个人那就是蒂莫西·约翰·伯纳斯-李(Timothy John Berners-Lee),伯纳斯-李发明了HTML,HTTP,URL并开发的第一款网页浏览器,以及第一个网页服务器并写下了第一个网页。

伯纳斯-李

老李确实是个牛人,很大遗传自他的的家庭,他的父亲是康威·伯纳斯-李,毕业于剑桥大学,母亲是玛丽·李·伍兹,毕业于伯明翰大学,他们都是数学家,并且在曼彻斯特马克一号研发中认识的,这个曼彻斯特马克一号也是个很牛B的东西,他是世界上第一台可存储的程序计算机,由曼彻斯特大学负责研发,基本上只要去查计算机历史都可以看到这台计算机,老李的父母都参与的它的研发工作,另外就是这个项目的负责人叫做阿兰.图灵。


曼彻斯特马克一号
曼彻斯特马克一号

研发曼彻斯特马克一号是康威·伯纳斯-李和玛丽·李·伍兹人生中一次重要的合作,另一次重要的合作发生在1955年,他们合作生下了一个男孩叫做伯纳斯-李,也就是我们的万维网之父,老李在35岁的时候成功研发了万维网。

老李家里一共有四个孩子,其他几个孩子都没有伯纳斯-李这么出名,也就是在剑桥牛津当个终身教授什么的,母亲玛丽·李·伍兹是一个程序高手,可以说是最早的一批程序员,当时应该是以写机器语言为主,她在70岁的时候自学了Fortran语言,并且免费教周围的孩子编程,家庭氛围可见一斑。


童年伯纳斯
童年伯纳斯

蒂姆·伯纳斯早在孩童时代就接触到计算机,平常最喜爱的游戏就是用穿孔卡片拼搭”计算机”,还在穿孔纸带上画图。1973年到1976年蒂姆·伯纳斯进入蒂姆考入牛津大学女王学院,在物理系就读。在读书期间,他曾因“黑客行为”而被校方禁止使用计算机,这激发了他自己制造自己的计算机的欲望,他用一台老电视、一个旧的摩托罗拉M6800微处理器和一根焊接棒,自己动手组装了一台计算机,我查了一下这个M6800是摩托罗拉在1974年生产,具有16位地址总线,可直接访问64kB内存,时钟频率最高可达1 MHz。当然牛津大学后来还是很肯定他的成就,在20年后授予他荣誉博士学位。

1976年伯纳斯-李大学毕业先后进入了Plessey通讯公司和D.G. Nash技术公司工作,在那期间他替打印机编写了排版软件。1980年,伯纳斯-李临时受聘于日内瓦的欧洲粒子物理研究所(CERN),从事为期半年的软件工程师工作,那个时候的互联网已经问世11年,但是基本是美国联邦政府机构以及大学机构独有,而且既没有浏览器,也没有网址,网络、磁盘格式、字符编码各不兼容,系统之间传送信息其实还是很困难,加上当时欧洲粒子物理研究所内部随着业务的扩展,文件也在不断更新,再加上人员流动很大,很难找到相关的最新资料,而他的工作就是需要需要和各地科学家沟通联系,不断交换和分析数不清的报告和数据,很显然重复的工作和繁杂的过程给他带来的很大的烦恼。好的程序员的思路一般就是遇见重复的工作就写一个程序去帮我完成它,所以这时伯纳斯-李编写了供他个人使用的第一套信息存储程序,其中使用了超文本技术,并且命名为探询一切事物(ENQUIRE),这个名字是他在伦敦郊外父母家中发现的一本维多利亚时代百科全书的名字,也是未来互联网的雏形。


CERN

在半年临时工作期满之后伯纳斯-李退出CERN,转而供职于约翰·普尔图形计算机系统有限公司,该公司位于英格兰伯恩茅斯。在这间公司里,他参与的计划是一个远程过程调用,从而获得了计算机网络经验。1984年这次伯纳斯-李算是故地重游, 以正式员工的身份加入了CERN。

1989年,伯纳斯-李进入CERN(欧洲核物理实验室)已经5年,这时CERN已经成为欧洲最大的因特网节点,这让他看到了将超文本加入因特网的机会,他在当年3月份他向CERN提交了一份立项建议书,这份建议书中建议采用超文本技术把CERN内部各个实验室连接起来,系统建成后,将可能扩展到全世界。这个建议在CERN引起轩然大波,但最终的实施却受到了阻力。在当时现存的技术条件下,让人们凭空想象出一个虚拟的、无边际的网络世界并不是一件容易的事。况且,CERN终究只是核物理实验室而非计算机网络研究中心,虽然也有人支持,但最终提案还是没有被通过。

伯纳斯-李并没有灰心,他重新修改了建议书,在1990年,作出了一个修订版加入了对超文本开发步骤与应用前景的阐述,用词恳切,并再一次呈递上去,这回终于得到了上司麦克·森德尔的批准。于是蒂姆得到了一笔经费,购买了一台NEXT计算机,与罗伯特·卡里奥共同开发试验系统。他们用获得的经费购买了一台NeXT cube,在那个时候,大多数电脑都是没有没有联网能力的,但是NeXT刚好是在那个时候进行量产,NeXT是第一台具备联网能力的电脑,所以你可以认为乔布斯碰巧也促成了互联网的诞生。

NeXT

在1990年的圣诞节假期里,伯纳斯-李使用NeXT工作台完成了第一个称为WorldWideWeb的网页浏览器,这个浏览器可以在NeXTSTEP操作系统上运行,以及第一个网页服务器CERN httpd,这个Web服务器简陋得只能说是CERN的电话号码簿,它只是允许用户进入主机以查询每个研究人员的电话号码,但它实实在在是一个所见即所得的超文本浏览 /编辑器。


第一个浏览器
第一个浏览器

那年伯纳斯·李还开发出了

  • 超文本传输协议 (HTTP)
  • 超文本标记语言 (HTML)
  • 统一资源标识符 (URL)

世界上第一个WWW网站www.info.cern.ch正式成立在1991年8月6日上线http://info.cern.ch/,现在仍然可以访问登录,1993 年4月30日,CERN宣布开放万维网给所有人使用。


第一个网页
第一个网页

1994年10月,万维网协会(World Wide Web Consortium,简称W3C在麻省理工学院电脑科学实验室成立。建立者是万维网的发明者蒂姆·伯纳斯-李


2012奥运会

2012年伦敦奥运会开幕式上,这位彻底改变人类生活和工作方式的发明者,他独自一人坐在舞台上的电脑前,接受来自全世界人民感谢的掌声,发送了这条著名的Twitter - “This is for everyone”


this is for everyone

2017年,伯纳斯-李因“发明了万维网、第一个浏览器和使得万维网得以扩展的基础协议及算法”而获得2016年度的图灵奖。