AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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

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

关注

评论

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

线程池性能提升之道:核心线程数选择与定制实战

做梦都在改BUG

Java 多线程 线程池

【Netty】「NIO」(二)阻塞模式与非阻塞模式

sidiot

Java 后端 Netty 6 月 优质更文活动

跨平台开发工具 kbone 实操经验分享

Onegun

小程序 跨平台 前端框架 kbone

中企出海,数智人力重构企智人效的人才供应体系

用友BIP

人力资源 中企出海 数智人力

Flink实例:处理IoT事件流

TiAmo

IoT Flink实例 事件流 6 月 优质更文活动

vue2.x与vue3.x中自定义指令详解

不叫猫先生

Vue 自定义指令

数字经济快速发展下企业需要什么样的数智平台?

用友BIP

企业数智化 数智平台

深度学习应用篇-计算机视觉-图像分类[2]:LeNet、AlexNet、VGG、GoogleNet、DarkNet模型结构、实现、模型特点详细介绍

汀丶人工智能

人工智能 深度学习 计算机视觉 图像分类 6 月 优质更文活动

【云原生】Docker的基本使用方法与优势

不叫猫先生

Docker 6 月 优质更文活动

苹果WWDC 2023发布会总结

楚少AI

wwdc WWDC 2023 苹果wwdc2023

BH1750 传感器实战教学 —— 驱动移植篇

矜辰所致

传感器 I2C 6 月 优质更文活动

漫画告诉你什么是生成式 AI(二)

FN0

AIGC

人工智能创新挑战赛:海洋气象预测Baseline[4]完整版(TensorFlow、torch版本)含数据转化、模型构建、MLP、TCNN+RNN、LSTM模型训练以及预测

汀丶人工智能

人工智能 数据挖掘 深度学习 LSTM 6 月 优质更文活动

vue2.x,vue3.x使用provide/inject注入区别

不叫猫先生

Vue 6 月 优质更文活动

聚焦数智人力,让员工“跳槽”不再尴尬!

用友BIP

人力资源 数智人力

选择优质的led透明屏的7个步骤

Dylan

产品、 LED显示屏 售后服务

顶象发布《车企App安全研究白皮书》,剖析车企App两大风险

说山水

旺链科技赋能泳池卫士守护人身安全

旺链科技

区块链 泳池安全 泳池卫士

GaussDB(DWS)查询过滤器原理与应用

华为云开发者联盟

数据库 华为云 华为云开发者联盟 企业号 6 月 PK 榜

亚信科技AntDB数据库荣获赛宝优选信创优秀解决方案奖

亚信AntDB数据库

AntDB AntDB数据库 企业号 6 月 PK 榜

面试官:什么时候 MySQL 查询会变慢?

做梦都在改BUG

Java MySQL 数据库

【体验有奖】玩转 AIGC,函数计算 x 通义千问预体验,一键部署 AI 应用赢 Airpods

阿里巴巴云原生

阿里云 云原生 AIGC

测试左移右移,到底是什么?

老张

测试右移 测试左移

前端AST详解,手写babel插件

不叫猫先生

6 月 优质更文活动

【JavaScript】手写Promise

不叫猫先生

JavaScript Promise 6 月 优质更文活动

Vue3项目中Pinia状态管理工具的使用

不叫猫先生

Vue Pinia 6 月 优质更文活动

前端内存泄漏详解

不叫猫先生

内存泄露 6 月 优质更文活动

立即报名 | Microservices June 微服务之月再度开启

NGINX开源社区

nginx 微服务

漫画告诉你什么是生成式AI(一)

FN0

AIGC

【Netty】「NIO」(三)剖析 Selector

sidiot

Java 后端 Netty 6 月 优质更文活动

Vue项目中实现ElementUI按需引入

不叫猫先生

Vue Element UI 按需加载 6 月 优质更文活动

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