【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

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

关注

评论

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

什么是反向代理?Nginx反向代理如何配置?

wljslmz

nginx 反向代理 6月月更

让企业数字化砸锅和IT主管背锅的软件供应链安全风险指北

FN0

安全性 沙箱实验 开源软件供应链

《你的灯亮着吗》开始解决问题前,得先知道“真问题”是什么

图灵教育

从MLPerf谈起:如何引领AI加速器的下一波浪潮

OneFlow

人工智能 深度学习 加速器

8253A寄存器浅析

乌龟哥哥

6月月更

无需zookeeper安装kafka集群(kakfa3.0版本)

字母哥哥

大数据 kafka 消息队列

手把手带你快速入门Electron

是乃德也是Ned

7月月更

投稿开奖丨轻量应用服务器征文活动(5月)奖励公布

阿里云弹性计算

nginx OSS MySQL 数据库 轻量征文

8款最佳实践,保护你的 IaC 安全!

SEAL安全

安全 IaC

Android Studio Arctic Fox | 2020.3.1、Gradle 7.0升级记录

yechaoa

android Android Studio Gradle 6月月更 AGP

Ubuntu环境编译OpenJDK11源码

程序员欣宸

Java Openjdk 6月月更

主流实时流处理计算框架Flink初体验

百思不得小赵

大数据 flink 7月月更

架构实战营 毕业总结

热猫

密码学进阶(一):浅谈常见的七种加密算法及实现

No Silver Bullet

加密 文本摘要 数字签名 7月月更

【LeetCode】找树左下角的值Java题解

Albert

LeetCode 7月月更

【Python技能树共建】requests-html库初识

梦想橡皮擦

7月月更

超90万个K8S实例可被发现暴露在公网上,14%位于中国

SEAL安全

安全

远程办公如何保持高效协同,实现项目稳定增长 |社区征文

三掌柜

初夏征文 7月月更

面试必答题“聊聊Java中线程的生命周期状态”如何破?

博文视点Broadview

这样的商城系统全开源免费商用,还要什么自行车!

CRMEB

rxjs Observable of 操作符的单步调试分析

Jerry Wang

typescript 前端开发 angular RXJS 7月月更

DBPack 赋能 python 微服务协调分布式事务

峨嵋闲散人

分布式事务 分库分表 读写分离 seata dbmesh

云原生到底是什么?它会是未来发展的趋势吗?

Albert Edison

7月月更

Go Web 编程入门:一探 GoConvey 测试库

宇宙之一粟

Go web Go 语言 7月月更

leetcode 474. Ones and Zeroes 一和零(中等)

okokabcd

LeetCode 动态规划 算法与数据结构

CleanMyMac X4.11最新版本号

茶色酒

CleanMyMac X

软件产品管理平台有哪些?12个最佳产品管理工具盘点

PingCode

产品经理 产品管理 PingCode

hive数据导入:文件导入

怀瑾握瑜的嘉与嘉

大数据 hive 7月月更

架构实战营 模块九:设计电商秒杀系统

热猫

数据中台咋就从“小甜甜”变成了“牛夫人”?

雨果

数据中台

兼容10个浏览器HTML头部配置

写程序的小王叔叔

html 浏览器 浏览器插件 7月月更

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