写点什么

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:551192
用户头像

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

关注

评论

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

openpyxl 对Excel的基础操作

IT蜗壳-Tango

办公自动化 3月日更 IT蜗壳教学

学习感悟

shun123456789

技术实践 | 网易云信 QUIC 加速服务架构与实践

网易云信

架构 音视频

融云即时通讯SDK集成 -- 定制UI(一) ——会话界面小改动

融云 RongCloud

即时通讯

Wireshark 数据包分析学习笔记Day12

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

融云IMKit 动态删除或添加plugin 的实现

融云 RongCloud

IM

2万字系统总结,带你实现 Linux 命令自由?

比伯

Java 编程 架构 面试 程序人生

融云如何更换用户信息

融云 RongCloud

即时通讯

跳转到@消息的位置

融云 RongCloud

即时通讯

寻找被遗忘的勇气(十五)

Changing Lin

3月日更

融云聊天室属性 kv

融云 RongCloud

IM

配置融云SDK的自签证书

融云 RongCloud

sdk

叫练手把手教你读JVM之GC信息

叫练

JVM JVM简介 JVM笔记

Redis不是一直号称单线程效率也很高吗,为什么又采用多线程了?

数据库 redis 架构

融云 IMkit 拦截或监听所有发送消息

融云 RongCloud

sdk

弱网测试工具

Geek_6370d5

在融云 IMkit 会话界面基础上添加消息已读未读

融云 RongCloud

IM

互联网信贷风险与大数据 催收管理

张老蔫

28天写作

Web3.0时代到来 imToken借助区块链帮更多人完成价值存储和转移

CECBC

区块链

php 实现单链表以及链表反转等操作

一个大红包

3月日更

(28DW-S8-Day24) 重新定义流程

mtfelix

28天写作

融云即时通讯SDK集成 -- 定制UI(三) ——兼容Android Q

融云 RongCloud

即时通讯

融云如何把图片消息的图片上传到自己的文件服务器

融云 RongCloud

sdk

Web 安全之 CSRF

架构精进之路

Web 安全 3月日更

融云 ConversationListFragment 会话列表添加头部布局

融云 RongCloud

sdk

关于融云聊天室KV 值的正确使用

融云 RongCloud

即时通讯

唠一唠融云 VIVO push 无法跳转的解决方案

融云 RongCloud

sdk

干货 | 比特币就是时钟

CECBC

比特币 时间同步

区块链助飞机加油和支付过程更透明高效

CECBC

区块链

「Linux」各目录详解

我是程序员小贱

面试 3月日更

融云即时通讯SDK集成 -- 华为推送的点击跳转处理

融云 RongCloud

即时通讯

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