请比较一下IE7,IE8,漫游,火狐。
比如我有一个表哥,作为一个大学生,一个“专业”的IT人,经常敢给我一些“指点”。有一天,我用IE浏览器被她看到了,女孩一脸不屑的指给我看,说,你拿这个破IE干什么?很容易有毒!现在用的是傲游,没毒!当时真想问她“没毒”是不是电线杆上贴的那种。我马上测了一下,傲游的危害远远小于电线杆,就没问了。但我了解到了群众眼中的“不同浏览器”是什么。现在我郑重的告诉你,这些浏览器其实就是IE-微软的IE浏览器。包括傲游、腾讯TT、世界之窗等。,其实只是给IE加了一层皮,给IE增加了一些功能,屏蔽了一些功能控件。
拉开马甲,还是IE ~ IE浏览器自带Windows系统,所以很多人觉得开发一个浏览器真的很难。既然在大家的系统里,那我用IE的内核别人也不会觉得是IE,没必要。能做这么难的事,太棒了!于是,出现了很多“果丹皮式”的浏览器。这里我再多说两句:我没有诋毁傲游等浏览器的意思,只是从内部分析一下情况。请绕道,分公司就在我隔壁。谢谢你。
这些“牡丹皮”浏览器与IE、火狐等有什么本质区别?
我们来肤浅的看一下浏览器的内部:一个完整的浏览器需要完成以下任务:
1,HTTP或HTTPS与服务器交互;
2.解释HTML语言,静态文本元素,后面扩展解释HTML -XML的母体;
3.解释GIF、JPG、PNG等格式的图形图像并在网页上展示;
4.解释Javascript脚本语言,将其应用扩展到后来的DHTML,AJAX等。
5.解释CSS级联样式表;
6.添加、删除和检查Cookie文件;
7、软件本身的控制机制,如收藏夹、历史、打印、热键等等;
8.兼容各种控件,包括AciiveX、video elements、Flash、JAVA小程序等。
9、提供相应的安全验证机制,如SSL、电子证书、数字指纹等应用。
10,以及其他。作为我不那么自信的标志,我加了这个:)
浏览器的发展史基本都是这个顺序,从第一项开始,慢慢发展。最早的浏览器甚至不能显示图片,这一点很有意思,一度被作为索引电话簿的首选工具。作为浏览器,解析HTML是最基本的能力。在浏览器多年的开发和积累过程中,开发者慢慢将浏览器的HTML解析部分分离成一个相对独立的模块单元来渲染用户界面。其实第一个这么做的人是微软。
1997 10年6月,随着Internet Explorer第四版的发布,一个名为Trident(也称MSHTML)的“渲染引擎”发布了。这套“渲染引擎”不仅被IE用来解释HTML,还被很多Windows应用使用。比如我们熟悉的Windows系统中的帮助文件,内部文档的解读都是由系统内嵌的Trident引擎来完成的,还有Office套件的一些功能等等。
Trident,也就是MSHTML,作为Windows系统API的一部分,在开发Windows应用时可以调用它来做相关的解析工作。但在当时,“渲染引擎”这个概念并没有引起广泛关注。后来Mozilla也发布了它的排版引擎Gecko,作为一个独立于浏览器的模块。虽然和微软是同一个动作,但是作为开源软件,影响力是不一样的。因为除了Mozilla的浏览器,其他浏览器或者开源程序也可以使用Gecko作为自己的排版引擎。不像微软,使用Gecko不再局限于Windows平台!
此后,“渲染引擎”受到高度关注,这个词也逐渐被广泛使用。所谓“渲染引擎”,中文叫:网页排版引擎,又称HTML渲染引擎或浏览器的图片界面。而且,更多的时候,我们称之为“内核”。比如我们常说的傲游属于IE内核。其实就是IE的“牡丹皮”。后来傲游大概觉得自己经常被别人打倒真的是一件很不愉快的事情,于是出了一个很厉害的招:不仅可以调用IE的三叉戟,还可以调用火狐的壁虎,随意切换,双内核!你不能再说我是IE的马甲了吧?
我是“IE还是火狐”的马甲?这么说太拐弯抹角了,没人会这么说,也就没人再提底了。明智之举。!事实上,我对开发者辛勤工作的敬佩就像长江的洪水,在这里只是一句玩笑话,一句废话,不要当真。
再说一个更高级的模块,也是目前突飞猛进的领域:JavaScript,网景开发的面向对象脚本语言,在浏览器中的作用比美国总统还大(……)。网景引入浏览器的JavaScript语言也完全基于ECMAScript规范。
作为一种标准的脚本语言,JavaScript的引入为互联网交互创造了坚实的基础。应该说我们能有今天网页上各种神奇的应用,多亏了网景/Mozilla!(如果像微软一样另起炉灶,恐怕今天也就止步于十年前的水平了),从中受益最大的企业应该是谷歌,它的经典服务绝对离不开Javascript。从这个角度来说,我想知道谷歌能否帮助Mozilla推广Firefox作为一种感谢?
哈哈。而微软IE则没有使用完全符合ECMAScript规范的JavaScript,而是把自己的另一种技术:JScript强加给用户。JScript这个名字很可能是为了和JavaScript混淆,但是请记住一点:JScript是微软的注册商标!IE中使用的JScript和ECMAScript(或JavaScript)有交集。它们不仅没有完全使用ECMAScript标准定义的方法和属性,还添加了很多自己的私有定义。这些方法和属性只能被IE识别,不能被其他未授权的浏览器识别(专利)。
这一现实不仅让无数开发者头疼,也成为了其他浏览器发展的绊脚石。但是由于种种原因,大众会下意识的认为微软也是JavaScript。这也是我上一篇文章开头说“让我们悲愤地讨论”的原因。Internet Explorer作为monopoly的必要组成部分,一直在使用包括JScript在内的一系列专有网页标准扩展,其他还有HTML、CSS、DOM(比如Office中那些令人眼花缭乱的丰富格式),以至于很多网站只能通过IE正常显示。这也是IE拥有绝对市场时非常难以撼动的因素之一。
话题跑题了,言归正传。在互联网发展的中后期,DHTML和Ajax的应用变得越来越广泛和重要,所以浏览器的开发者把精力都投入到了Javascript执行的效率和扩展性上。慢慢的,浏览器开发者从网页排版引擎中衍生出这部分功能,形成一个独立的模块:脚本解释引擎,也叫Javascript解释引擎,对于某些浏览器来说,叫Javascript解析架构。在这方面,谷歌是领先的。
应该说这也是合理的。如上所述,作为一个新兴的IT巨头,Google的大部分核心项目都是以Javascript作为客户端的主要手段来实现的,比如著名的Gmail、Google Map、Google Docs,以及核心中的核心:AdWords、AdSense等等。在Ajax应用技术中,Google是当之无愧的王者,高效的解释引擎当然对Google的发展极其重要!就像菜刀对悍妇一样,哦不,一把利剑对一个英雄是如此重要!谷歌在2008年底推出的Chrome浏览器使用了来自丹麦的开源脚本解释引擎V8,以提高Javascript解析的速度。这台发动机不出名,但很出彩。
传统上,所有浏览器都使用“解释”的方法来执行JavaScript。Chrome的V8引擎采用JIT(Just-In-Time instant compilation)方式,将JavaScript编译成二进制文件,放入内存执行。我一直以为这是SUN为JAVA提出的。查了一下资料,发现80年代就有了。但可以肯定的是,即时编译技术一直是JAVA平台的突出特点。后来,微软的。NET也吸取了过去的教训,终于让自己的服务器系统不再是低效率的代名词。时代在进步,现在连脚本语言都JIT了。
正是这种方法使得V8引擎处理网页中的JavaScript非常快,尤其是在Ajax应用中,据说比IE快6700多万倍。(“据说”有时候不太靠谱)
当然,在Mozilla这边,它并没有停止。Firefox3.1还增加了一个专门解析Javascript的引擎:TraceMonkey。这个TraceMonkey还使用了JIT技术,据说比IE快7800多万倍。(和IE相比,软柿子不捏白。)TraceMonkey还在本地SpiderMonkey引擎中集成了一种叫做trace trees的技术,提高JavaScript效率和运行速度。
有点乱?spider monkey+tracing = trace monkey,总之根据传说,很神奇!看看苹果的Safari浏览器,Safari也有自己强大的JavaScript引擎。作为一贯的市场远见,早在2002年,苹果就将Webkit排版引擎分为WebCore和JavaScriptCore,这两个引擎都是开源的。WebCore负责渲染网页——网页排版引擎,JavaScriptCore负责解释JavaScript脚本——脚本解析引擎。
2008年6月,苹果将JavaScriptCore重新命名为SquirrelFish,并将其从项目中分离出来。不久后升级到SquirrelFish Extreme,重新编译。显然,下一代浏览器的准备工作已经全面展开。
苹果声称在SquirrelFish Extreme engine中使用了四种不同的技术来实现更好的性能:字节码优化、多态内联缓存、轻量级上下文线程JIT编辑器以及使用JIT架构的新正则表达式引擎。技术上的名气听起来很晕,可以明显看出几大浏览器都是有备而来(来个熊~)。这时候可能有人会问,这些最新的脚本解释引擎谁快?我很想要一个客观公正的答案。但是如果进行这个测试,由于大家都出奇的快,数据波动的因素又太多太复杂,所以最大的干扰因素有两个:测试环境和测试人员。
换句话说:谷歌的测试结果中Chrome最快,苹果的测试报告中Safari最快,Mozilla的测试报告中Firefox最快。总的来说,上述三家公司的速度差距不算太大,但毫无疑问,IE是最慢的,慢得离谱。这就是为什么微软不热衷于Javascript速度测试,其他公司天天做评测报告,而且都是纠正例子:他们确实是第一,那个穷学生微软是最后!特别指出的是,并不是每个浏览器都把脚本解释引擎分离出来,比如IE,解释脚本的工作还是由Trident来做。
这充分说明,如果倒数第二天不是微软,只有一种可能:微软学生那天拉肚子,没来上课!。。。-_-;
摘要
安全推荐:福克斯
兼容:IE
寻求小系统足迹:谷歌
因为漫游双核,基于lz的要求,推荐漫游。