写点什么

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

  • 2009-03-04
  • 本文字数:1586 字

    阅读完需:约 5 分钟

随着 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 上找到关于浏览器 JavaScript RIA的更多内容。

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

2009-03-04 10:551220
用户头像

发布了 88 篇内容, 共 266.9 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

我家有猫

熊斌

生活方式 七日更 我家有猫

七周七并发模型

田维常

并发

日本准备推行AI婚配,年轻人会为“爱情算法”买单吗?

脑极体

架构师训练营 大作业(一)

netspecial

极客大学架构师训练营

重磅!四部门联合约谈蚂蚁集团!刚刚,约谈的主要内容曝光……

CECBC

金融

区块链的核心技术是什么?

CECBC

区块链

区块链 链什么?

CECBC

区块链 分布式

pagerank算法

橘子皮嚼着不脆

避坑指南,Elasticsearch 分页查询的两个问题,你一定要知道

AlwaysBeta

elasticsearch python 爬虫

从场景出发,日志聚类还可以这么玩

信仰圣光吧丶

AIOPS 日志聚类 日志治理

是的,我又换工作了

Rayjun

工作

框架VS架构,看两者异同

田维常

框架

第五章学习总结

简简单单

炎币交易所APP系统开发|炎币交易所软件开发

系统开发

软件组件设计原则

积极&丧

Java并发底层知识,锁获取超时机制知多少?

李尚智

Java java 并发

Flink比Spark好在哪?

数据社

flink spark 七日更

第五周 技术选型作业

简简单单

Week10作业

lggl

作业

架构师训练营 大作业(二)

netspecial

极客大学架构师训练营

数据仓库的前世今生

数据社

数据仓库 七日更

架构师训练营第十周笔记

李日盛

学习 微服务 DDD

ARROW阿罗AOW币APP系统软件开发

系统开发

第十周总结

孤星

架构师训练营第五周作业

zamkai

Week10总结

lggl

总结 作业

代理模式

soolaugust

设计模式 代理模式 七日更

Spring 源码学习 10:prepareBeanFactory 和 postProcessBeanFactory

程序员小航

spring 源码 源码阅读

用领域驱动设计驱动系统的重构

积极&丧

安全架构:加密与解密

积极&丧

安全架构:反垃圾与风控

积极&丧

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