网络浏览器之战

停止。不要抬头。不要往盒子外面看,盒子里放着文本。你能告诉我你用的是哪种浏览器吗?你自己选择的理由是正确的吗?你能解释一下为什么你要把你珍贵的html编码的内容托付给这个浏览器吗?就像棒球大联盟的击球手可以解释为什么枫木或灰木和薄或厚的桶是把球送到看台上绝对正确的选择一样?你确定这个浏览器是标签和元数据发送到你的计算机的最佳选择吗?

如果你回答不了问题,就离开这里。如果你认为这种高度优化、即时生产、可无限定制的技术只是另一种商品,那么你甚至都不用完成这句话来寻找你知道即将到来的侮辱。你不够好,读不了这篇文章。你不配知道这些。

InfoWorld的企业Windows博客说IE9优于Firefox 4和Chrome 10.同样在信息世界”:HTML5的主要功能有:Canvas、视频、音频和图像|本地数据存储|数据通信|HTML5表单|地理位置和其他花絮

现在,房间里已经没有了那些一辈子都喜欢使用IT支持人员安装在电脑上的浏览器的“无人机”,是时候再看看浏览器了,想想是什么让它们变得更好。什么?你几个月前就这么做了?你会想,“他们到底能改变多少?”我还需要继续和大卫·马梅沟通吗?

浏览器界正在接受Ezra Pound的命令,把它变得非常长,自从我开始写这句话以来,已经发生了很多变化。为什么呢?就在几分钟前,火狐和Chrome都发布了上午晚些时候的版本,而微软的程序员也去喝下午茶了,所以他们推出了最新的版本。每隔几周就会有新的版本出现,它们通常包含大量的新功能,比如更好的字体、新的视频编解码器、更复杂的隐私开关、更好的本地存储等等。这不是你用的是你祖父的浏览器还是你父亲的浏览器的问题。现在你可以吃完午饭回来,锁住你的大脑,想知道你是否可以用你今天早上安装的浏览器度过下午。

在情况再次发生变化之前,我们对五大主要浏览器——Opera、Safari、Chrome、Firefox和IE——以及它们目前的表现进行了调查。它们都是由受驱动的程序员编写的优秀工具,这些程序员认为自己陷入了一场人类未来的战斗中,如果你忘记了在我们不查看电子邮件或浏览新网站时占据其他时间的所有物理对象。

更改和改进的列表非常长,本文无法一一列举。我已经试着强调了几个最重要的要点。

Web浏览器之战:HTML5

所有的精力都投入到HTML5上,这是加速发展的主要动力之一。虽然人们谈论这个新标准已经有10年左右了,但它只是在最近几年才成为一种痴迷。所有宣传新版本浏览器的新闻稿都无一例外地提到了HTML5标准的众多新功能。

这对普通用户有影响吗?还没有。目前大多数网站都不使用任何新特性,但随着Web开发人员开始注意到这一点,这种情况正在逐渐改变。谷歌正在推动Web应用程序通过Chrome Web store并清楚地将HTML5应用视为软件生态系统的重要组成部分。

比较浏览器的一个好地方是查看检查表测试HTML5测试,这是一个漂亮的JavaScript程序,它在加载页面时对浏览器进行评分。HTML5测试会根据一长串功能的可用性给出分数,然后将分数相加。

尽管这些分数差别很大,但如果认为它们意味着Chrome在HTML5方面的表现是IE的两倍,那就大错特错了。该网站通过寻找JavaScript中的对象来检查对某个特性的支持。如果对象在那里,浏览器就得一分。

例如,IE9实现了我认为最重要的部分:本地存储,以及画布、视频和音频标记。它之所以落后,是因为它没有实现测试表单输入的新功能,所以只获得了可能的90分中的4分。诚然,这86个IE未获得的积分与真实的功能相符,但我不认为它们是最重要的功能。此外,虽然更聪明的表格听起来是个好主意,但它们的90分分配扭曲了它们的重要性。等功能Web Workers只得到10分,但是它们对于编写基于客户端的代码可能更有用。

还有更复杂的试验,比如菲利普·泰勒的大量测试集推动画布规范的每个部分。因为它为你创建了一个canvas对象,Chrome在HTML5测试中获得了满分20分,但它只通过了636个Taylor测试,其中141个不及格。IE9在这方面做得更好,只有67次失败,是Chrome的一半。

这个差距重要吗?这些缺失的能力对于创造优秀的游戏来说并不是必不可少的。Chrome的许多失败似乎都与解析一些数值参数有关。对于浏览器应该能够解析八进制的消息,我不确定是该窃笑还是致敬。在另一个2D转换的测试中,Chrome留下一个alpha混合值为254而不是255的像素。另一方面,IE在随机测试中似乎也不及格。

总的信息是什么?像画布或本地存储这样的大的新功能正在被广泛采用。即使是Chrome的失败也没有那么严重。虽然某些单独的功能可能无法完美地通过所有测试,但它的核心已经为JavaScript程序员准备好制作更多游戏和华丽的演示文稿。

尽管在canvas对象上投入了大量的精力,但浏览器程序员对其他特性的关注却很少。为日期和其他通用数据提供标准结构的微数据格式没有得到实现。像摄像机和操纵杆等本地设备在很大程度上也被忽视了——但这并不重要,因为他们只是改变了标准,变得更加灵活。

我的建议是不要过多考虑这个问题,除非您打算使用一个应用程序,该应用程序的功能包括只有部分浏览器实现的表单等功能。浏览器之间存在许多实际差异的时代已经过去了。IE已经很好地赶上来了,我预计微软将继续推进兼容性,因为该公司明白,它不再拥有曾经享有的统治地位。

网络浏览器之战:速度

浏览器程序员的下一个大问题是JavaScript引擎的速度。见鬼,我不喜欢使用通用的“引擎”这个词,因为每个浏览器都有自己的特殊名称。例如,Firefox 3.6依赖于TraceMonkey,但Firefox 4使用JägerMonkey。Chrome有V8, IE9有Chakra。歌剧叫做卡拉坎。所有的浏览器开发者都在宣传它们的名字,并吹嘘它们惊人的速度提升。包括IE在内的一些浏览器现在的速度比大约一年前快了7倍。

下面是我在四核、3GB内存的Windows Vista电脑上运行最新浏览器构建的表格。您的体验会有所不同,性能也会随着浏览器更好地利用显卡和多核而提高。

以一定的怀疑态度看待这些基准是很重要的。这两个SunSpiderV8基准测试包括计算量大的任务,如加密例程。这些“敲打”操作可以很好地测试原始性能,但它们在实际应用程序中并不常见。即使应用程序使用加密,它们也很少连续进行数千次。你的体验可能会完全不同,除非你不断地重复加密项目。

基准测试开发人员试图解决这个问题。例如,谷歌的V8设计器在Web上搜索了一些常见的正则表达式,比如用于修剪字符串末尾的空格的正则表达式,但同样不清楚这些操作在一般情况下有多常见。我相信对用户来说最重要的数字是getElementById执行的速度。

评估性能变得越来越复杂,因为原始JavaScript性能不再是速度的唯一代理,现在浏览器将一些处理任务卸载给了视频卡。微软发布了一个基准测试计算帧速率气泡可以用矢量图形画出来。得益于GPU挂钩,IE9运行速度比其他浏览器快得多,在我的机器上,它的帧率至少是Chrome的两倍。如果您正在电脑上玩游戏并享受华丽的演示,那么您可能更愿意相信这个基准测试,而不是计算强度高的版本。

这个游戏有望变得更加有趣,因为微软最近提出了基准测试加载页面所消耗的电量.这与速度有关,但它对笔记本电脑和平板电脑越来越重要。我们可能很快就会讨论这个问题。

网络浏览器之战:视频和音频

理论上,浏览器都很好地支持了新视频标签.在实践中,专利问题甚至是骄傲似乎在表面之下制造了不相容。每个人都支持四种通用标准的不同子集,但还没有一种标准成为主流。例如,Safari和IE不支持Ogg Theora或WebM;Chrome不支持MPEG-4。所有这些细节在人们讨论正确的网络计划时创造了新闻。

我不知道这对普通人有多重要。的还在网站例如,它包含一个示例视频列表,我可以用Safari或IE来播放其中一些视频。为什么?视频的主人,Blip.tv,优雅地切换到另一种格式,而我在不知情的情况下继续航行。

这对一般的网站开发人员来说可能不是什么大问题,因为很多人都懒得尝试流媒体视频。如果微软乐意失败的话在YouTube上的视频而不是托管比特本身,那么我们其他人可能也没有任何理由托管视频。我们把它上传到免费的视频流网站上就可以支付带宽费用了。谷歌将继续为每个人的视频带宽支付多久?我不确定,但这也意味着大多数人不会花太多时间担心这些标准。如果这些免费主机消失了,情况将迅速改变。

Web浏览器之战:插件和扩展

浏览器的插件和扩展仍然是许多严肃用户的重要标准。人们有他们自己的收藏夹,他们通常选择自己的浏览器来安装插件。

Firefox继续拥有最极端的API,允许许多不同类型的扩展和插件,其中许多都带有自己的子扩展。例如,Firebug拥有自己完整的生态系统,包括用于调试Web应用程序的浏览器和服务器端插件。Greasemonkey让人们可以更简单地编写一些JavaScript来创建插件,这些Greasemonkey脚本可以在线交易。这两个都是我本能地转向Firefox的原因。

其他浏览器没有提供像Firefox那样复杂的功能,但它们提供了大多数人想要的东西:一种将一些JavaScript、CSS和HTML捆绑在一起的方法。这个公式处理了大多数人想要做的事情,这就是为什么大多数主要的扩展可以用于所有高调的浏览器。编写JavaScript之后,在浏览器之间移植就相对简单了。

这使得Chrome和Safari更容易赶上Firefox。Safari有一个类似于Chrome的API,这为扩展创建者将他们的工作从Chrome移植到苹果浏览器扫清了道路。Opera现在正在推动一个类似的基于javascript的插件框架,我预计它也会成为扩展开发人员的一个有吸引力的目标。

IE对JavaScript开发人员来说仍然是一个挑战,对那些了解c++和ActiveX的人来说则是一个机遇。这在未来可能不会有太大影响,因为微软正越来越多地推动纯粹的HTML5开发。IE9有了“固定”网站的新方法(也就是说,将它们附加到Windows任务栏或开始菜单或其他地方),我预计这些方法将来可能会开始取代扩展。在某种程度上,它们几乎就像插件。

Web浏览器之战:开发人员工具

一开始,IE只有一些专有的JavaScript调试器,然后Firebug出现了,并为所有人改变了游戏。谷歌在Chrome发布时捆绑了一个很棒的调试器,苹果在Safari上也做了同样的事。现在微软将其版本命名为F12。

对于大多数意图和目的来说,现在的工具几乎是一样的。它们中的大多数使插入断点和跟踪网络流量变得很容易。异常会被报告,并且可以深入研究数据结构,找出站点的问题所在。我最喜欢的特性是“inspect元素”,它允许您指向页面的一个片段,然后转到生成该片段的标记部分。现在这是相当标准的。

相关:
12 第1页
第1页共2页
工资调查:结果在