BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Opera宣布Caracan计划及Apple发布Safari 4 Beta标志着浏览器大战的再次升级

| 作者 Dio Synodinos 关注 3 他的粉丝 ,译者 张龙 关注 12 他的粉丝 发布于 2009年3月5日. 估计阅读时间: 5 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

随着Web逐渐成为默认的开发平台,大家都注意到浏览器技术上的不断 创新。在时代精神的感召下,Opera宣布了代号为Carakan的计划,该计划旨在开发“市面上最快的JavaScript引擎”,与此同时Apple也发布了Safari 4 beta版,提供了不少新特性和改进。

相比于Opera之前的引擎Futhark,Caracan VM最重要的一个技术上的改进就是字节码指令集不再基于栈而是基于寄存器了

在新的引擎中,我们使用了基于寄存器的字节码指令集。在基于寄存器的机器中栈的大小不是动态变化而是固定的,我们称之为“寄存器”,这样就不用只在栈顶寻找值了,每个指令都可以访问任何寄存器。由于无需在栈顶将值拷来拷去 ,因此所需执行的指令就会变少,同时需要拷贝的数据也减少了。

Caracan还支持本地代码生成

尽管新引擎的字节码指令集实现了更快的字节码执行引擎,但对于简单的ECMAScript代码的执行来说还是有些不尽如人意,比如字节码解释器所执行的整数循环计算。为了提高效率,我们将全部或部分ECMAScript程序和函数编译成了本地代码。
另一个改进就是JavaScript对象的表示上:
在新引擎中,每个对象都有一个类与之对应,该类用于保存对象的各种信息,如其原型以及部分或全部属性的顺序和名字。类的指定是动态的,因为ECMAScript本身就是个动态的语言,但拥有相同原型和属性集的对象具有相同的类。这种表示方式可以紧凑的存储每个对象,因为代表对象属性的大部分复杂结构都放到了类中,这样具有相同类的其他对象就可以共享这些属性了。在现实应用中,一个类可以有多个对象,因此这种方式能节省大量内存。

Opera说借助于这些增强,现在的Caracan要比Opera 10 Alpha中的引擎快2.5倍。目前Caracan的发布日期尚未确定,那么这些增强能否让Opera浏览器流行起来呢,让我们拭目以待吧。根据NetApplications的调查,今年1月份Opera浏览器的市场占有率仅为0.70%

与此同时,Apple发布了Safari 4 beta版,值得关注的是它带有一个名为Nitro的新JavaScript引擎

借助于新的Nitro引擎,Safari执行JavaScript的速度要比Internet Explorer 7快30倍,比Firefox 3快3倍,这是根据业界主要的基准测试:iBench和SunSpider得到的结果。

新版的Safari支持几种新的高级技术,如:

  • CSS动画
  • CSS特效
  • CSS 3 Web字体
  • CSS Canvas
  • HTML 5媒体支持
  • HTML 5离线支持
  • 兼容于Acid 3(唯一一个通过测试的浏览器)
  • 猜测载入(Speculative Loading)

Safari还带有几个新特性及UI改进,如:

  • 标签栏置顶
  • Cover Flow(使搜索网页历史或书签就像在iTunes中翻阅专辑图案一样有趣和简单——译者注)
  • 完全的历史搜索
  • Windows的本地感官
  • 智能地址栏
  • 全页面缩放
  • 智能搜索栏
  • 网络钓鱼与恶意软件防护

你可以访问Apple的Safari开发者中心来了解如何将这些新特性用于桌面和移动版本的Safari开发上。

Paul Stamatiou试用过该beta版并与我们分享了其想法

如果让我说的话,我会给Safari 4 beta打个6.5-7分(满分为10分),其稳定性和速度确实不错。那么Safari 4到底好在哪里呢?仅仅是浏览Web而已。不要忘记Safari最近才成为私有浏览模式*wink wink*…之王,Firefox 3.1也对其提供了本地化支持

如果你正在使用Safari 4,那么请看看一些隐藏选项吧(只针对OS X),比如将标签栏放回到原处。

所有主要的浏览器供应商都在闷头改进其引擎,Dion Almaer想知道将他们联合起来会不会更好

这些浏览器并没有(或是根本没法)共享其VM的研究成果。每个浏览器都有一个新的VM实现。如果他们能联合起来岂不更好?

Iliad回答了Dion的问题

共享VM引擎就没有竞争了,也没有动力再去推进更好、更快的实现。像现在这样,彼此都在暗自较劲——这很好。

可以在InfoQ上找到关于浏览器JavaScriptRIA的更多内容。

查看英文原文:Browser Wars Reignite with Opera announcing Caracan and Apple releasing Safari 4 Beta

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

很好的文章 by Li Qiang

很好的文章

浏览器之争是好事 by Xie Fengbo

而且这一轮的竞争都是基于对标准的支持之上的,这很好。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

2 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT