AICon 深圳站 Keynote 嘉宾官宣!共探AI价值转化的实践路径 了解详情
写点什么

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

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

关注

评论

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

活动回顾丨云原生技术实践营广州站回放 & PPT 下载

阿里巴巴云原生

阿里云 云原生

openGauss数据库源码解析系列文章——执行器解析(1.3)

daydayup

opengauss

Docker的架构与安装

timerring

Docker

一文了解 MySQL 全新版本模型

爱可生开源社区

LeaRun快速开发框架如何解决低代码劣势?

力软低代码开发平台

安卓快速启动,启动速度 285 毫秒的实时安卓操作系统(RTAndroid)或 实时 Linux

winfredy

android Linux 快速启动

NFTScan | 07.17~07.23 NFT 市场热点汇总

NFT Research

NFT\

可视化逻辑编排工具——低代码/无代码平台

互联网工科生

软件开发 低代码 无代码 JNPF

MobPush Android SDK 厂商推送限制

MobTech袤博科技

消息推送 Android; 智能推送 推送 推送系统

openGauss 5.0.0支持用户级全量审计解密

daydayup

opengauss

容灾切换时间减少 99%,“云边协同”如何提升影演服务效率与稳定性

阿里巴巴云原生

阿里云 云原生

MySQL能用OFFSET分页查询吗

fm

MySQL

程序化广告还有未来么?——程序化领域变化的底层逻辑和反思

不在线第一只蜗牛

系统架构 系统搭建 程序化

3种常见的测试自动化类型

汽车之家客户端前端团队

前端 单元测试 集成测试 自动化测试 端到端

第一批AIGC独角兽开始裁员了

Openlab_cosmoplat

人工智能

openGauss数据库源码解析系列文章——执行器解析(1.1)

daydayup

opengauss

openGauss数据库源码解析系列文章——执行器解析(1.2)

daydayup

opengauss

openGauss数据库源码解析系列文章——执行器解析(2.1)

daydayup

opengauss

我也创业了!

Serverless Devs

人工智能 Serverless 云原生

网关改造正当时,跟学 HigressOps 夏季营

阿里巴巴云原生

记一次容器环境下出现 Address not available

阿里巴巴云原生

阿里云 容器 云原生

云和恩墨大讲堂 x 长江鲲鹏 x openGauss Meetup(武汉站)圆满落幕!

daydayup

opengauss

搭建 OpenTiny 组件库的 Playground 指导手册

OpenTiny社区

开源 Vue 前端 UI组件库

深入理解 Serverless 计算的并发度

阿里巴巴云原生

阿里云 Serverless 云原生

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