写点什么

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

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

关注

评论

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

全新出品!Github总榜排行第七的SpringCloud生态全栈笔记我粉了

JAVA活菩萨

Java 程序员面试 大厂技能 秋招 大厂面经

荣耀互联对外开放,赋能智能硬件合作伙伴,促进全场景生态产品融合

荣耀开发者服务平台

JWT主动校验Token是否过期

源字节1号

软件开发 后端开发

web前端培训课程哪个比较好?

小谷哥

【iOS逆向】某车之家sign签名分析

小陈

iOS逆向

框架整合(二)- 使用Apache ShardingSphere实现数据分片

大菠萝蜜

MySQL 8月月更

OpenInfra Days China 2022|SelectDB与你共享 Apache Doris 在互联网广告业务中的实践

SelectDB

MySQL 数据库 数据仓库 数据湖 Doris

基于 eBPF 的 Kubernetes 可观测实践

阿里巴巴云原生

阿里云 Kubernetes 云原生 可观测

阿里出品Spring Security王者晋级笔记,并附上源码解析

冉然学Java

编程 spring security java; Spring Boot CLI 源码、

荣耀发布开发者服务平台,智慧生态合作提速

荣耀开发者服务平台

《机器学习理论到应用》电子书免费下载

计算机与AI

Python 机器学习 数据科学

WEB前端面授培训课程

小谷哥

安装失败怎么办

和牛

测试

RabbitMQ(五)死信队列

JAVA活菩萨

Java 程序员 后端 java程序员 java编程

小程序+自定义插件的混合模式

Geek_99967b

小程序

基础到高级涵盖11个技术,Alibaba最新出品711页Java面试神册真香

JAVA活菩萨

Java 程序员面试 大厂技能 秋招 大厂面经

浅谈运用低代码技术如何实现物流企业的降本增效

王平

重新审视分布式系统:永远不会有完美的一致性方案……

JAVA活菩萨

Java 程序员 java程序员 java 编程

移动平台助力推进智慧型科研院所信息化建设

BeeWorks

开发一套高容错分布式系统

JAVA活菩萨

Java 程序员 后端 java程序员 java编程

【web自动化测试】Playwright快速入门,5分钟上手

和牛

自动化 测试 playwright Python. 8月月更

【注册荣耀开发者】赢【荣耀70】手机

荣耀开发者服务平台

开发者 手机 活动 应用 荣耀

精品!阿里P7爆款《K8s+Jenkins》技术笔记,高质量干货必收藏!

冉然学Java

jenkins java; 技术笔记 编程‘’ #k8s

容器化 | 在 NFS 备份恢复 RadonDB MySQL 集群数据

RadonDB

MySQL 数据库 容器化 Kubernetes 集群 备份 & 恢复

《机器学习的随机矩阵方法》

计算机与AI

Python 机器学习 数学

字节二面被问到mysql事务与锁问题,我蚌埠住了

程序员小毕

Java MySQL 数据库 程序员 面试

【Android逆向】rpc调用某安App的X-App-Token签名函数

小陈

逆向技术

力拓信创生态,博睿数据多款产品获得东方通与达梦数据库产品兼容互认证明

博睿数据

可观测性 智能运维 博睿数据 东方通 达梦数据

从云计算到函数计算

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

如何模拟后台API调用场景,很细!

Liam

前后端分离 开发 Postman API 前后端协作

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