html的起源
早在计算机的上古时代,那个时候还没有浏览器,很少有人能够通过互联网交流。就在这个时候,有一家叫做netscape(网景)的公司,开发了一种叫做“浏览器”的程序。通过浏览器和超文本标记语言,内容的呈现可以不受制于载体。html的载入技术应该也是网景开发的,通过这种技术(超文本传输协议),服务器可以隔离地给浏览器提供网页而和客户端隔离以避免安全问题。
可见html的最初标准并非是学院派而是实用派的。微软看到浏览器这个东西有巨大的市场,于是也想参与其中,最初微软和网景的竞争还能打个平手,但是后来微软除了杀招,利用微软巨大的个人操作系统份额预装了ie浏览器,从此微软一统浏览器市场,网景几乎倒闭。虽然微软被反垄断罚款,但那对于财大气粗的微软来说算不了什么。但是凭借网景剩余的钱,有人建立了一个“Mozilla基金会”,其使命在于“维护互联网的开放和自由”,即不让任何人垄断互联网的标准制定权。当然后来网景并没有倒闭,只是一直半死。Mozilla基金会至今维护着一个叫做“Mozilla Firefox”的拥有巨大市场份额的开源浏览器(毕竟后来IE渐渐落后了)。
html的发展
当然身为一种跨平台能力极佳的标记语言,html需要交互。作为面向商用的语言,html比起学院派语言更需要发展。
交互
作为浏览器钦点的内置语言,说起网页交互当然离不开javascript。Javascript是我不怎么喜欢的一门语言。据说刚开发浏览器的那个开天辟地的时代是没有交互式网页的,后来网景公司的人觉得浏览器上必须加入一门高性能和轻量化的脚本语言。刚好那时候刚刚诞生了java语言,java那种“一次编写到处运行”的理念是网景公司上下都成为了java的粉丝(大概是html和java都致力于跨平台?),还专门派人去和开发java的sun公司交流。结果网景准备把他们准备开发的这种新语言叫做“javascript”,让其具有java的风格。后来网景临时招了一个人来设计javascript,这个人不喜欢java,他是c语言和lisp的粉丝(然而我挺讨厌这两个语言的),于是他把javascript弄成了一个风格像c语言和lisp的东西,声称javascript是“c语言和lisp一夜情的产物”。
这应该就能看出javascript虽然名字上有个“java”,但是和java并没有半点关系,本质上没半点关系,风格上更加没有。
之所以用脚本语言,原因大概是不需要编译可以节省浏览网页的等待时间吧。现在最快的javascript解释器是google在其chrome浏览器上内置的V8引擎。
既然javascript的风格和java大相近庭,那它究竟是什么风格呢?这种风格叫做“函数式编程”。我也是绝对不知道,你说一门脚本语言,它怎么就能做成和函数式一样呢?现在过程式程序设计方法里面的面向对象编程十分热门,javascript的这种设计毫无疑问增加了开发人员的学习成本,有些书教人用一些技巧使得js去模拟一些面向对象的特性,我以为这还是too young。难道函数式就不能写程序了?为什么要舍近求远呢。总之我认为js的设计很糟糕,只不过出于历史原因,js一直前端领域钦点的语言。幸好前端的程序一般不需要太大。
渲染
html作为一种标记语言,自身最大的任务就是“标记”,给内容打上标签。至于这些内容怎么显示,应该交给别的语言,比如css(又是钦点的吗?手动滑稽)。最初似乎并没有css和html的结合,因为现在还能看到不少html标记是没有从显示中间分离的。至于为什么没有css网页也能显示出来?当然是网页自己带有一套默认的css。css最初是拿来干啥的我也不知道,而且我也不知道css离了html之后究竟还有什么用。
标记
标记本身当然也要不断发展,html最初只是被一些公司所操控,但是在网页变得越来越重要之后,一个叫做“w3c”的标准制定组织接管了html标准的制定。目前有大版本号的html标注有四套。
html5
html5是最近很热门的一个词。准确来说“html5”这个标准还没出来,但是由于其众多的优点众厂商已经迫不及待地让它成为了现在最为热门和炫酷的事实标准。现在所说的html5一般不止指的是html 5.0这套标记标记语言,更多的指的是html 5.0 ,css 3.0,javascript这套技术体系。
前端框架
当网页越来越大,越来月炫酷,对网页的要求越来越多,前端框架这种东西自然也就产生了,一般人可能会更多地接触jquery,一个非常流行的javascript库。但是呢,说实话我感觉jquery的很多自带效果看起来一点也不炫酷,而且也失去了很多灵活性。还有一些像bootstrap,webstarter’s kits 之类的框架,实在太多了,似乎很炫酷,但是呢,我暂时也不了解。
全文完
其实我现在也不知道在web技术上究竟应该学到什么程度好。而且我对web技术没啥兴趣。