写点什么

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

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

关注

评论

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

万物互联网络在企业中的价值和展望 | 趋势解读

物联网

一分钟了解EFT公链新一代超级DeFi公链——EGG超级公链

币圈那点事

区块链 公链 挖矿

《精通比特币》学习笔记(第十一章)

棉花糖

区块链 学习 3月日更

混合编程:如何用python11调用C++

华为云开发者联盟

c++ 编程 语言 python11 混合编程

Navicat操作MySQL简易教程

Simon

MySQL navicat

阿里P7亲自讲解!整理几个重要的Android知识,最全Android知识总结

欢喜学安卓

android 程序员 面试 移动开发

TCP拥塞控制四种算法

赖猫

TCP 网络协议

中台还没建就开始拆中台了?医疗中台何去何从?

菜根老谭

中台 医疗中台

一文搞懂PID控制算法

不脱发的程序猿

3月日更 PID 控制算法 智能控制 工业控制

镁信健康“互联网+医+药+险”模式能否打造出中国版联合健康?

E科讯

学以至用-从“0”到“1”设计千万级交易系统

ninetyhe

高可用 分布式系统 海量数据库的设计与实践 异步削峰

书单|互联网企业面试案头书之程序员软技能篇

博文视点Broadview

Elasticsearch Segments Merging 磁盘文件合并

escray

elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

啥子叫递归哟!!!(阶乘)

依旧廖凯

28天写作 3月日更

集成融云 IMLib 时,如何实现一套类似于 IMKit 的用户信息管理机制

融云 RongCloud

恭喜自己2021金三银四收到的第五个Offer:字节跳动Java研发岗

比伯

Java 编程 架构 面试 程序人生

【科创人】维格表创始人陈霈霖:喜茶数字化转型的结晶是vika维格表

科创人

Spring AOP 执行顺序 && Spring循环依赖(面试必问)

hepingfly【gzh:和平本记】

Java spring aop 循环依赖

【LeetCode】螺旋矩阵Java题解

Albert

算法 LeetCode 28天写作 3月日更

翻译:《实用的Python编程》06_01_Iteration_protocol

codists

Python

Python 初学者必看:Python 异常处理集合

华为云开发者联盟

Python 异常 代码 程序 错误

融云聊天室属性 kv

融云 RongCloud

音视频

整理 自动备份MYSQL数据库shell脚本

edd

阿里P7亲自教你!一线互联网大厂中高级Android面试真题收录!讲的明明白白!

欢喜学安卓

android 程序员 面试 移动开发

三步上线自己的在线监考系统

融云 RongCloud

有状态容器应用,从入门到实践

焱融科技

Kubernetes 容器 云原生 焱融科技 分布式存储

基于 SparkMLlib 智能课堂教学评价系统 - 系统实现(四)

大数据技术指南

大数据 spark 智能时代 28天写作 3月日更

数据营销“教父”宋星十年倾心之作,让数据真正赋能企业

博文视点Broadview

解析分布式应用框架Ray架构源码

华为云开发者联盟

gRPC API 框架 ray 分布式应用框架

腾讯高级工程师保姆级“Java成长手册”,层层递进,全是精华

Java架构追梦

Java 腾讯 面试 架构师

BOE(京东方)物联网解决方案让会议更“智慧”

爱极客侠

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