眼下世界上主要有来自四个不同机构的四种的Web浏览器内核。每一家机构都推出了至少一种使用自己的内核的浏览器产品。
这四家机构各自是Microsoft、Mozilla、Apple和Opera SAS。提供的内核则分别叫做Trident、Gecko、WebKit和Presto,推出的主打浏览器则分别叫做Internet Explorer、Firefox、Safari和Opera。
人们经常也用主打浏览器的名字来取代内核的名字,特别是对不开源的Trident和Presto,差点儿人人都称之为“IE内核”和“Opera内核”。
内核们的市场份额
尽管号称是四大内核,可是在市场份额上。大家还是有相当显著的差别。
截止2007年11月,世界各市场合计。四大内核的市场占有率各自是:
- IE约占77.35%,主要是IE 6.0(40.24%)和IE 7.0(36.84%)
- Gecko约占16.01%,主要是Firefox 2.0
- WebKit约占5.14%,主要是Safari 3.0
- Opera约占0.65%,主要是Opera 9.X
剩下的市场份额里。另一大部分是这些内核的早期版本号和嵌入式版本号。
只是,在世界的不同区域的详细情况。和平均值又能够有非常大的出入。以Gecko内核为例,在欧洲的占有率比平均值要高非常多(接近30%)。而在中国大陆就比平均值要低不少(长期使用者大约2%,假设记入偶尔使用者,大约8%)。
Trident/IE内核
Trident是Microsoft从1997年以来的主打浏览器内核。第一个使用该内核的产品是IE 4.0。
眼下最新的稳定版本号是IE 7使用的Trident V。
Trident内核及其前身以前创造过非常多功能方面的世界记录。领先支持了非常多Web标准,并引入了多个后来被广泛的接受的扩展。
只是,在标准支持的完整程度和扩展设计的完备程度上。一直不算非常高。
Trident系列的内核在世界上最早的支持了CSS 1。这使得人们第一次有可能实现把一个页面的结构与样式分离。
只是,一直到2001年的IE 6.0。Trident还对一些CSS 1里的属性支持有缺陷。并且直至2006年推出IE 7.0时才完毕了修正。IE 7里的Trident V仍不能非常好的支持CSS 2。只是推出时间尚未确定的IE
8的支持就已经比較完好了。
Trident系列的内核在世界上最早的支持了DOM 1。使得人们第一次用JavaScript动态的改动文档对象模型,然后实时的看到页面发生动态的变化。只是,从此以后对DOM标准的支援程度一直没有非常大提高,眼下已经是世界上对DOM支持最差的主要内核。
特别是全然不支持DOM 2里的事件模型。
Trident还是世界上第一个支持XMLHttpRequest的浏览器内核。
这使得人们第一次能够在页面里用脚本实现后台传输数据。
这一扩展后来被全部的主要内核进行了效仿。在现代Web应用中发挥着关键的数据。
Trident也是世界上第一个支持“可编辑内容”的浏览器内核。这使得人们第一次能够在主流浏览器里动态的编辑某个区域,然后获得表示这个区域的HTML数据。这一扩展也被全部的主要内核进行了消化吸收。只是IE生成的HTML代码结构不够优雅,而其他的实现进行了一些调整,结果要清晰一些。
2001年后,Trident内核的开发工作停滞了非常长时间。因此对XHTML、CSS 2.1、MathML、SVG、DOM 2、DOM 3之类的标准的支持远不如其他三种。对CSS 3、ECMAScript 4、HTML 5的开发也没有表现出非常大的热情。
Trident仅仅有Windows平台上的版本号。
在Mac版的IE(已停止开发)和Mac版的Office(在继续开发)中使用的是还有一个名为Tasman的内核。
Gecko/Firefox内核
Gecko是Mozilla从1998年以后一直主推的浏览器内核。最著名的使用该内核的产品是Firefox。眼下最新的稳定版本号是Firefox 2使用的Gecko 1.8。
Gecko是一款开源产品,眼下基于MPL/LGPL/GPL三重许可证发表。
在1998年初,由于历史包袱太重。没有及时的增加对CSS和DOM的完备支持。Netscape Navigator的“浏览器市场的垄断者”的地位受到了IE的严重威胁。在这个时候,他们的决策层决定尝试用当时刚刚名声大振的市集模式来进行下一步的产品开发。他们将这个主意取名为Mozilla计划。
这一尝试最初并不成功。
因为历史包袱实在太重,整个开发团队决定对现存的源码进行一次大规模的重写。
这次重写花掉了好几年的时间。
在这段时间里,Netscape一直没有新的内核可用。于是仅仅好看着IE 4.0、5.0、5.5相继面世。然后一点一点的抢光自己的市场份额。这件事后来经常被当作“不管怎样,不要重写已有的产品级代码”的证据来引用。
Gecko便是这次重写的重要产物。第一个功能和稳定性大致及格的基于Gecko内核的浏览器诞生于2001年2月的Mozilla Suite 0.8。
在大约一年半之后的2002年6月,Mozilla Suite公布了正式的1.0版。可是这个时候,IE差点儿已经吃下了所有市场。此后Mozilla Suite虽然一直在演化,但不曾在市场上造成不论什么的影响。假设不是后来有人作出了相同基于Gecko内核的Firefox。然后在市场上大受好评。反攻出16%的市场占有率。并实现了年入数千万美元,整个Mozilla计划差点儿能够被当成以失败而告终了。
经过了一次艰难的重写之后。Gecko内核对现代Web标准有了良好的兼容性。对HTML、XHTML、CSS、XML、XSLT、DOM 0/1/2、JavaScript都有不错的支援。
并且领先支持了表示数学公式的MathML和表示矢量图形的SVG。在扩展方面,也有学自IE的XMLHttpRequest(已被收入标准草稿)、学自WebKit的Canvas
2D(已被收入标准草稿)、引自WHATWG的Storage API(已被收入标准草稿)、自创的XBL(兴许版本号标准化中)以及有限的“可编辑内容”。在处于測试阶段的Gecko 1.9中,“可编辑内容”的功能得到了强化,Canvas 3D正在试验其中。
Gecko内核及其前身的最重要的世界记录是最早实现了JavaScript。没有这个技术,就无所谓浏览器端的编程。
Gecko能够非常好的在Windows、Linux和Mac OS X上运转。
在多种其他UNIX上,也有移植版本号存在。
WebKit/Safari内核
WebKit是Apple推出的Safari浏览器的内核。Safari是Mac OS X上的默认浏览器,也有适合于XP之后的Windows的版本号。
WebKit跟Gecko一样是开源产品,诞生于Mozilla看起最黯淡无光的那段时间,基于类BSD许可证。
WebKit内核的速度非常快,对标准的支持也强,资源占用又不多。是一款非常有特色的浏览器内核。
Presto/Opera内核
Opera是Opera SAS经营多年的一款最初以小巧闻名。眼下以迅速出彩的浏览器。Presto是眼下Opera的内核的名号。
虽然在桌面领域,Opera的影响并不算大,但嵌入式版本号的名声非常好。
Presto的好处跟WebKit类似。也是在速度、标准支持和资源占用方面具有上佳的表现。
移动设备市场
眼下很多移动电子设备也内置了对Web的訪问能力。可是在世界范围来说,用于移动设备中的各种浏览器的市场份额合计,眼下还仅仅有不足1%。
很多人和机构都觉得移动互联网相关的产业会在未来的某一天有巨大的市场规模,所以早早进行了非常大的投入来开展非常多的尝试。可是从眼下的消费者的行为上看。这些尝试还都并不十分成功。