写点什么

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

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

关注

评论

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

FastApi-15-文件上传-3

Python研究所

FastApi 8月日更

导播上云,把 “虚拟演播厅” 搬到奥运村

阿里云CloudImagine

阿里云 视频处理 视频直播 视频云 云导播

“遇见”未来“编程”语言,面向组件编程,送给在校学生

清风

Java 小程序 毕业设计

为什么区块链是互联网的100倍?

CECBC

【LeetCode】有效的字母异位词Java题解

Albert

算法 LeetCode 8月日更

【SpringBoot技术专题】「JWT技术专区」SpringSecurity整合JWT授权和认证实现

洛神灬殇

spring security springboot JWT 8月日更

Hadoop生态系统

Mike

Fastdata for TSDB: SQL使时序数据可扩展

数据库 大数据 时序数据库 tsdb 数据智能

用Java仿一个低配版的Everything软件

Regan Yue

Java 8月日更 Everything

百亿级分布式文件系统之元数据设计

焱融科技

云计算 技术 分布式 高性能 文件存储

架构实战营-模块二作业

俞立夫

架构实战营

Android ANR应用无响应

W🌥

android 8月日更

手撸二叉树之递增顺序搜索树

HelloWorld杰少

数据结构与算法 8月日更

netty系列之:自定义编码解码器

程序那些事

Java Netty 程序那些事

出现吧,Python Web 菜谱系统的首页,不会前端技术,也能做

梦想橡皮擦

8月日更

Go语言:如何通过Go来更好的开发并发程序 ?

微客鸟窝

Go 语言

零代码以“王者荣耀”为例解析设计七原则

华为云开发者联盟

软件 设计原则 王者荣耀 单一职责

能源区块链研究 | 加密行业碳抵消有助于大众接纳比特币吗?

CECBC

基于java springboot体育馆预约微信小程序源码(毕设)设计开发

清风

Java 小程序 源码 毕业设计

30个Kafka常见错误小集合

王知无

智能时代的信任口诀:让计算远离算计

白洞计划

趣说开源|学生如何参与开源社区?

SphereEx

数据库 开源

数据加密和BCrypt哈希算法应用 | StartDT Tech Lab 15

奇点云

Python入门:ChainMap 有效管理多个上下文

华为云开发者联盟

Python 字典 上下文 映射 ChainMap

Compose 中的主题

Changing Lin

8月日更

区块链技术:为什么说波卡能加速区块链行业的发展?

CECBC

如何将知识引入机器学习模型提升泛化能力?

华为云开发者联盟

机器学习 算法 数据 模型 物理学

Hadoop安装与常用操作命令

Mike

高并发中,那些不得不说的线程池与ThreadPoolExecutor类

华为云开发者联盟

Java 线程 高并发 线程池 ThreadPoolExecutor类

OpenYurt 联手 eKuiper,解决 IoT 场景下边缘流数据处理难题

阿里巴巴云原生

云计算 阿里云 开源 云原生 中间件

Excelize 发布 2.4.1 版本,新增并发安全支持

xuri

Excel Go 语言 Excelize #Github

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