楼主: shwany
4409 2

[推荐]浏览器的内核(详细版) [推广有奖]

贵宾

庸才

学术权威

58%

还不是VIP/贵宾

-

威望
15
论坛币
2824739 个
通用积分
292.2699
学术水平
446 点
热心指数
583 点
信用等级
317 点
经验
110065 点
帖子
2204
精华
4
在线时间
2775 小时
注册时间
2005-6-6
最后登录
2024-1-9

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

浏览器的核心作用就是用来上网浏览,因此它对页面载入速度的快慢,直接影响到我们的使用。

一款优秀的网页浏览器,不仅要具备美观大方的外表,还必须能够以较快的速度载入用户访问的网页,将页面的内容完整地呈现在窗口中。或者,在这里我们可以说一个出色的浏览器,其内核必须拥有良好的解析速度。

通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释 也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。

浏览器内核很多,如果加上所有的几乎没有什么人在用的非商业的免费内核,那么可能大约有10款以上甚至更多,不过通常我们比较常见的大约只有以下四种,下面先简单介绍一下。

Trident: IE浏览器使用的内核,该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的IE7。 Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器涌现。此外,为了方便也有很多人直接简称其 为IE内核(当然也不排除有部分人是因为不知道内核名称而只好如此说)。

由于IE本身的“垄断性”(虽然名义上IE并非垄断,但实际上,特别是从Windows 95年代一直到XP初期,就市场占有率来说IE的确借助Windows的东风处于“垄断”的地位)而使得Trident内核的长期一家独大,微软很长时间 都并没有更新Trident内核,这导致了两个后果——一是Trident内核曾经几乎与W3C标准脱节(2005年),二是Trident内核的大量 Bug等安全性问题没有得到及时解决,然后加上一些致力于开源的开发者和一些学者们公开自己认为IE浏览器不安全的观点,也有很多用户转向了其他浏览 器,Firefox和Opera就是这个时候兴起的。非Trident内核浏览器的市场占有率大幅提高也致使许多网页开发人员开始注意网页标准和非IE浏 览器的浏览效果问题。使用Trident内核的浏览器大量出现,除了常见的IE、Maxthon、TT等,还有GreenBrowser、 AvantBrowser等等

Geckos: Netcape6开始采用的内核,后来的Mozilla FireFox也采用了改内核,Geckos的特点是代码完全公开,因此,其可开发程度很高,全世界的 程序员都可以为其编写代码,增加功能。而且这个内核跟Mosaic的关系更深,或者说事实上现在的Netscape Navigator已经改用这个内核了,因此Firefox的插件能够在Navigator上使用——当然,不是所有的都能兼容。因为这是个开源内核,因 此受到许多人的青睐,Geckos内核的浏览器也很多,这也是Geckos内核虽然年轻但市场占有率能够迅速提高的重要原因。

事实上,Geckos引擎的由来跟IE不无关系,前面说过IE没有使用W3C的标准,这导致了微软内部一些开发人员的不满;他们与当时已经停止更新了的Netscape的一些员工一 起创办了Mozilla,以当时的Mosaic内核为基础重新编写内核,于是开发出了Geckos。不过事实上,Gecko内核的浏览器仍然还是 Firefox用户最多,所以有时也会被称为Firefox内核。此外Gecko也是一个跨平台内核,可以在Windows、BSD、Linux和Mac OS X中使用。

Presto: 目前Opera采用的内核,该内核在2003年的Opera7中首次被使用,也是由Opera Software开发出来的用以代替早期的Elektra内核(Opera 4~6)。该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。

实际上这是一个动态内核,与前面几个内核的最大的区别就在脚本处理上,Presto有着天生的优势,页面的全部或者部分都能够在回应脚本事件时等情况下被 重新解析。此外该内核在执行Javascrīpt的时候有着最快的速度,根据在同等条件下的测试,Presto内核执行同等Javascrīpt所需的时 间仅有Trident和Gecko内核的约1/3(Trident内核最慢,不过两者相差没有多大)。那次测试的时候因为Apple机的硬件条件和普通 PC机不同所以没有测试WebCore内核。只可惜Presto是商业引擎,使用Presto的除开Opera以外,只剩下NDS Browser、Wii Internet Channle、Nokia 770网络浏览器等,这很大程度上限制了Presto的发展

Webkit:苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。 Webkit引擎包含WebCore排版引擎及JavascrīptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统的开发。所以Webkit也是自由软件,同时开发源代码。在安全方面不受IE、Firefox的制约,所以Safari浏览器在国内还是很安全的。

限于Mac OS X的使用不广泛和Safari浏览器曾经只是Mac OS X的专属浏览器,这个内核本身应该说市场范围并不大;但似乎根据最新的浏览器调查表明,该浏览器的市场甚至已经超过了Opera的Presto了——当然 这一方面得益于苹果转到x86架构之后的人气暴涨,另外也是因为Safari 3终于推出了Windows版的缘故吧。

因为Apple最近才将Safari移植到Windows因此暂时没有Windows上使用WebKit的其他浏览器,不过Mac下还有OmniWeb、Shiira等人气很高的浏览器。

google近期推出的Chrome浏览器基于webkit 。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:浏览器 Navigator NETSCAPE Internet software 推荐 浏览器 内核

数点梅花天地春,欲将剥复问前因。 寰中自有承平日,四海为家孰主宾。
沙发
shwany 发表于 2008-9-7 12:46:00 |只看作者 |坛友微信交流群

    Chrome尽管还在Beta,其惊人的浏览速度还是让每一位试用者印象深刻.甚至一些Windows Safari用户认为其速度快于同样使用WebKit的Safari,由此可以看出,Chrome的流畅速度在得益于WebKit内核的急速渲染外,还要归功于Google的全新渲染引擎V8,V8引擎有丹麦的脚本引擎专家团队在4个月内开发完成.面对Chrome的成功可能对FireFox和Safari粉丝们的打击不小,不过实际情况马上就会得到改善.

  Safari的新一代脚本引擎SquirrelFish项目早已 于7月份推出,装备有SquirrelFish(r34264)的WebKit引擎运行SunSpider脚本测试的速度比当前WebKit3.1(Chrome使用该版本的渲染引擎)要快1.6倍。

  Mozilla方面的也有新动向,Mozilla借助Trace优化技术和Adobe的开源nanojit技术开发出了自己下一代脚本引擎TraceMonkey,该引擎现已经集成在FireFox3.1最新的NightlyBuild中。测试中启用了TraceMonkey的最新版FF在SunSpider测试中速度领先于GoogleV8。

   不过已经投靠Chrome的新粉丝们,也不必过早倒戈,从收集到的消息看,Chrome的最新SVN Build在SunSpider测试中已经可以达到与TraceMonkey相近的速度。

数点梅花天地春,欲将剥复问前因。 寰中自有承平日,四海为家孰主宾。

使用道具

藤椅
shwany 发表于 2008-9-7 12:54:00 |只看作者 |坛友微信交流群

   在未来的几个月中,随着新版FF和Safari 4 的推出,浏览器间的速度之争还会更加激烈,用户可以享受更多精彩的速度体验。另外,Google,Mozilla和Apple各自浏览器背后的引擎虽然各不同,但很明显都得益于开源技术的成功。

想了解更多的,请搜索《网页浏览器“内核”与“外壳”的是是非非》。

数点梅花天地春,欲将剥复问前因。 寰中自有承平日,四海为家孰主宾。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-30 17:17