阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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

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

关注

评论

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

长安链源码分析启动(7)

长安链

华为云GaussDB(for Redis)全面对比Codis

科技云未来

【操作系统 | Linux】介绍与安装(虚拟机)

计算机魔术师

8月月更

乘云远航|共赢新征程,打造数字化供应链竞争力!

创意时空

使用 ECK 在 Kubernetes 集群中管理 Elastic Stack

Se7en

长安链国密TLS设计和实现学习

在线图片隐写术解密解码传递数据

入门小站

工具

如何正确理解Java对象创建过程,我们主要需要注意些什么问题?

PivotalCloud

日常工作最常用6大Git命令讲解

流浪的漂流瓶

git git stash 8月月更 git命令

上了NVMe的路,才能飙起全闪存的车

白洞计划

在线XML转HTMLTable工具

入门小站

工具

C/C++模板类模板与函数模板区别,以及用法详解

CtrlX

c c++ 面向对象 模板方法 8月月更

飞向深空:ColorOS 超算平台带来性能之变

脑极体

职场人的未来,GO!咱们上云办公

创意时空

创新技术领航者!华为云GaussDB获颁2022年云原生数据库领域权威奖项

科技云未来

Spring源码分析(三)Spring是如何把元素解析成BeanDefinition对象的

石臻臻的杂货铺

spring 源码 8月月更

长安链RPC服务学习笔记

长安链

Spring源码解析(四)Spring是怎么处理BeanDefinition的?

石臻臻的杂货铺

spring 源码 8月月更

长篇图解etcd核心应用场景及编码实战

字母哥哥

Java etcd #Kubernetes#

一文快速上手 Nacos 注册中心+配置中心!

王磊

Java SpringCloud

一文详解产品经理与项目经理的区别

产品海豚湾

产品经理 职业发展 项目经理 产品设计与思考 9月月更

加速拥抱数字化,云时通打造全新数字中台!

创意时空

【Python | 词云】聊天记录绘制超美词云(七夕快乐 ,曾同学)

计算机魔术师

8月月更

【云原生| Docker】 部署 Django & mysql 项目

计算机魔术师

8月月更

【Django | 开发】 为已有遗留系统数据库生成管理后台

计算机魔术师

8月月更

每日一R「20」网络编程(二)

Samson

学习笔记 8月月更 ​Rust

揭秘华为云GaussDB(for Redis)六大秒级能力盘点

科技云未来

Apache DolphinScheduler 简单任务定义及复杂的跨节点传参

Apache DolphinScheduler

工作流调度 海豚调度 调度器 大数据调度 任务传参

学习 Go 语言数据结构:实现哈希表

宇宙之一粟

哈希表 8月月更

[CSS入门到进阶] 4行CSS实现footer置底!超常见的需求,快来收藏

HullQin

CSS JavaScript html 前端 8月月更

直播预告 | Homebrew 作者 Max Howell:如何打造杰出的开发者工具

思码逸研发效能

开源 研发效能 开发者工具 开发工具 科技

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