在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

Mozilla 众项目勾画出网页脚本的未来

  • 2007-08-14
  • 本文字数:968 字

    阅读完需:约 3 分钟

以 Mozilla 为中心的 5 个不同的子项目最近新话题不断。它们都是非常有实力的项目,预示着浏览器脚本语言未来的发展方向。可以看以下的介绍,来熟悉一下这些项目:

SpiderMonkey 是 Mozilla JavaScript 引擎的代号。它是第一个 Javascript 引擎,Netscape 浏览器就用了它,所以并不新鲜。

Tamarin 是 Adobe 去年11 月时免费捐献给Mozilla 的ActionScript 引擎。Tamarin 是个即时(Just-In-Time)编译器,它可以把Javascript 解释成机器语言,并具有更好的垃圾回收机制。同时它也支持ECMAScript 3,并有希望会支持ECMAScript 4(JS2)规范。

ActionMonkey 正在集成 SpiderMonkey 和 Tamarin 两个项目。二者集成后的产品将会成为 Mozilla 2 平台的引擎。这将会给 Firefox 和其它基于 Mozilla 的应用带来性能上的改进,并兼具 Tamarin 支持最新规范的优点。

ScreamingMonkey 是让 Tamarin 引擎运行在非 Mozilla 浏览器上的项目。这项目让其它的浏览器(首先是 IE)也能得到 Tamarin 的好处。从此能让其它浏览器共享一个同一起源、快速、标准的引擎。

IronMonkey 项目希望能建立微软通用中间语言(Microsoft’s Common Intermediate Language,CIL)和 ActionScript 字节码(ActionScript Byte Code,ABC)之间的映射关系。这项目可以让用 IronPython 和 IronRuby 编写的程序运行于 Tamarin 之上。当与 ActionMonkey 和 ScreamingMonkey 结合时,就能让 Ruby 或 Python 的代码运行在浏览器上。

所有这些项目确实使我们对浏览器脚本语言的前景感到兴奋。我们期望着各方面的改进,如性能方面的改进,ECMAScript 4 的支持,更少的浏览器兼容技巧(至少在脚本引擎上如是),支持不同的脚本语言。虽然这个前景令人振奋,但并不是每一个人都认同这条道路,至少不是每个人都赞成选择 Tamarin 作为虚拟机。其中有些反馈谈到也许 Java 虚拟机或者是 Mono 是更好的选择。Java 现在已经支持 JRuby 和 Jython,解决了支持“多种不同的语言”的问题,在 Java 虚拟机上运行的 Rhino 引擎也有不错的性能表现。Mono 也同样满足这两个条件。 John Resig 总结了选择 Tamarin 背后的原因:

……简而言之:非技术的原因是,选择 Tamarin 要比选择那些有知识产权和许可证问题的要好;技术上的原因则与编译速度、文件大小、内存需求量有关。

查看英文原文: Mozilla Paints the Future of Web Scripting with Monkeys

2007-08-14 12:031206
用户头像

发布了 27 篇内容, 共 11.1 次阅读, 收获喜欢 15 次。

关注

评论

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

08. 语音识别与第二次AI热潮

Databri_AI

人工智能

【Flutter 专题】59 图解 Android Native 获取 Flutter 资源文件

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

活动回顾 | Apache Hudi x Pulsar Meetup 杭州站(戳进看视频)

Apache Pulsar

阿里云 Apache Pulsar StreamNative

平头哥玄铁处理器Linux新版本,5大亮点速览

Roy夹馍

Linux IoT risc-v 嵌入式开发

# 技术栈知识点巩固,开发多年HashMap原理不知道

欢喜学安卓

Java 程序员 后端

JDK 8 及其后续 JDK 中 Period 和 Duration

HoneyMoose

Vue进阶(八十九):watch 用法详解

No Silver Bullet

Vue 9月日更

从保证业务不中断,看网关的“前世今生”

华为云开发者联盟

负载均衡 网关 API网关 客户端 API Gateway

安卓支持RISC-V架构的技术剖析

Roy夹馍

IoT 安卓 risc-v 嵌入式开发

uni-app技术分享|开源demo视频呼叫arcall uni-app端技术实现

anyRTC开发者

uni-app 音视频 WebRTC 移动开发 视频通话

golang--GC(Garbage Collector)垃圾回收

en

GC Go 语言

NFT盲盒玩法详解,盲盒系统开发

合肥艾数199四②43⑧797

安卓对RISC-V支持的操作实战

Roy夹馍

安卓 risc-v 嵌入式开发

FunTester框架Redis压测预备

FunTester

redis 性能测试 测试框架 FunTester 测试发开

JavaScript数组常用的方法总结

孙叫兽

JavaScript 大前端 数组 引航计划

【LeetCode】二叉搜索树的后序遍历序列Java题解

Albert

算法 LeetCode 9月日更

打分吧!客服小姐姐,评分页面与客户总分页面的 Django 实现

梦想橡皮擦

9月日更

看懂这个故事,轻松实现从技术到管理的华丽转身!

博文视点Broadview

CMake

Changing Lin

9月日更

架构实战训练营|作业|模块2

Frode

#架构实战营

架构实战营模块七作业

老猎人

架构实战营

前端开发css这些样式你还熟悉吗,Chrome是必备技能

你好bk

CSS html css3 大前端

cxx 的枚举类型

hedzr

c++ 算法 枚举

Go 专栏|开发环境搭建以及开发工具 VS Code 配置

AlwaysBeta

Go 语言

IntelliJ IDEA 如何快速查看提交代码的对比

HoneyMoose

华为云PB级数据库GaussDB(for Redis)揭秘第一期:Redis与存算分离

华为云数据库小助手

redis GaussDB GaussDB ( for Redis ) 华为云数据库

1年半经验,21条MySQL性能调优经验

欢喜学安卓

Java 程序员 后端

“眼界大开 声临其境”网易首届音视频技术大会圆满落幕

网易云信

互联网 音视频 网易 网易云信

为移动通信争一先:Massive MIMO的进化三部曲

脑极体

一,二,三,基层治理数字化「三步走」

云计算

2021 Java开发 最全笔记 建议收藏!

欢喜学安卓

Java 程序员 后端

Mozilla众项目勾画出网页脚本的未来_Java_James Estes_InfoQ精选文章