写点什么

John Resig 谈 TraceMonkey 和基于 JavaScript 的 RIA 未来

  • 2008-09-04
  • 本文字数:1061 字

    阅读完需:约 3 分钟

新发布的 TraceMonkey 是一个基于于跟踪(trace-based)的即时(JIT)编译器,将由 Firefox 的下一版本引入,借此提升 JavaScript 的性能。InfoQ 采访了 Mozilla JavaScript 传道者及 jQuery 的创建者 John Resig,以了解该激动人心的开发及其对基于 JavaScript 的 RIA 未来的影响。

InfoQ:你认为该开发将对 RIAs 产生何种影响?你认为这会为更加丰富的应用敞开大门么?这看起来是什么样的?

完全没问题。有一些应用领域是很难实现的,目前在 JavaScript 领域来说就是那些计算密集型应用。实现任何一种复杂的游戏或者图形仿真应用都是极具挑战性的。借助于 Tracemonkey(及其他 ECMAScript 引擎性能的改进),这些挑战现在变得可行了——这真令人感到兴奋。

InfoQ:Dion Almaer 在 Twitter 上提出这样的疑问——“****你在 JIT 代码中借助 Firebug 来调试代码有多困难?"。你如何看待这一问题?

坦诚地说,区别不会很大(对于前端的 Web 开发者来说)。大多数改变发生在引擎的内核下,这使得最终的结果对于大多数 Web 用户来说都是无缝的。

现存的一种情况(现在还不清楚这能否在 Firefox 3.1 中得以解决)就是,进行跟踪的同时 Mozilla 内部的 JavaScript 调试器(允许你设置断点的工具——同时也令 Firebug 变得强大)无法运行。相对于上面提到的,这完全是另外一码事,因为一旦用户打开调试器,他们仍然可以开心地调试其 JavaScript 代码(仅仅无法调试 JIT 代码)。

InfoQ:其他厂商有没有仿效 Mozilla,即时编译本地代码呢?

当然了。很大程度上要依赖于其他 ECMAScript 引擎实现的细节了。我非常期望看到其他引擎能够做到与 Tracemonkey 类似的改进。

InfoQ:除了 TraceMonkey,在不久的将来客户端脚本还有什么值得期待的突破呢?

下一件重要的事情就是线程了。Google、Apple 和 Mozilla 在 W3C 的赞助下正在进行 Web Worker 提案的工作。不久我们就会在浏览器中看到这一点(Firefox 3.1 就会出现一些),同时这也将对 web 应用的一些传统进行彻底的变革。

InfoQ:你看到诸如 jQuery 的 JavaScript 库被打包到浏览器软件中么?你能预见到它们会提供哪些现在由本地浏览器 APIs 所提供的功能么?

打包到浏览器?我很怀疑。打包有用的 APIs?当然了。我们已经看到 Selectors API 规范的实现在所有浏览器(IE 8、Firefox 3.1、Safari 3、Opera 10)中都做到了这一点。一旦所有这些浏览器的市场都饱和时,我们就能从大多数 JavaScript 库中移除大量代码。

期待在接下来的几年中能看到在浏览器中增加更多的改进。

查看英文原文: John Resig on TraceMonkey and the future of JavaScript-based RIAs

2008-09-04 09:00563
用户头像

发布了 88 篇内容, 共 262.3 次阅读, 收获喜欢 8 次。

关注

评论

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

1分钟实现MySQL大数据量迁移任务

NineData

MySQL 数据同步 数据迁移 NineData 大数据量迁移

Aiseesoft FoneEraser for Mac(ios数据擦除工具) v1.0.18中文激活版

mac

苹果mac Windows软件 AIseesoft FoneEraser iOS 设备数据清除软件

2023-09-05:请用go语言编写。一个图像有n个像素点,存储在一个长度为n的数组arr里, 每个像素点的取值范围[0,s]的整数, 请你给图像每个像素点值加上一个整数k(可以是负数), 像素值会

福大大架构师每日一题

福大大架构师每日一题

华为云API对话机器人CBS的魅力—实现简单的对话操作

华为云PaaS服务小智

ide 云计算 软件开发 API 华为云

楠姐技术漫话:接着唠唠社区发现 | 京东云技术团队

京东科技开发者

图计算 社区发现 风控算法 企业号9月PK榜

如何选择网线

小齐写代码

深入剖析计算机网络和操作系统:面试必备知识解析

王中阳Go

面试 面试题 计算机网络 操作系统 八股文

蓝易云:RAID0、RAID1、RAID5、RAID10特点是什么?所需的硬盘数量分别为多少?容灾级别如何?

百度搜索:蓝易云

云计算 Linux 运维 云服务器 raid

蓝易云:Linux系统的 /dev/null 是什么?有什么隐藏的作用?

百度搜索:蓝易云

云计算 Linux 运维 云服务器 /dev/null

软件测试/测试开发丨Web自动化 测试用例流程设计

测试人

程序员 软件测试 测试开发 测试用例

jdk17下netty导致堆内存疯涨原因排查 | 京东云技术团队

京东科技开发者

Netty jdk17 内存爆表 企业号9月PK榜

【FAQ】HMS Core推送服务推送角标的开发及常见问题解答

HarmonyOS SDK

HMS Core

专业图表绘制OmniGraffle Pro激活中文+激活码

胖墩儿不胖y

Mac软件 流程图绘制

Spring Bean 别名处理原理分析

江南一点雨

Java spring

iOS APP版本更新升级教程:如何打包上架新的APP版本?

雪奈椰子

简单好用的窗口辅助管理 Magnet 激活中文最新版

mac大玩家j

mac窗口管理软件 窗口管理工具

MegEngine 7-8 双月报来啦:新版本发布,开发者福利课程,干货满满

MegEngineBot

深度学习 开源 开发者

“历久弥新 | 用AI修复亚运珍贵史料”活动震撼来袭!

阿里云大数据AI技术

机器学习 阿里云

便捷、快速、稳定、高性能!以 GPU 实例演示 Alibaba Cloud Linux 3 对 AI 生态的支持 | 龙蜥技术

OpenAnolis小助手

Linux 开源 gpu 操作系统 龙蜥社区

John Resig谈TraceMonkey和基于JavaScript的RIA未来_Java_Dio Synodinos_InfoQ精选文章