飞天发布时刻:2024年 Forrester 公有云平台Wave™评估报告解读 了解详情
写点什么

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

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

关注

评论

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

dart系列之:安全看我,dart中的安全特性null safety

程序那些事

flutter dart 程序那些事 12月日更 flutter 调试工具

设计模式【6.1】-- 初探适配器模式

秦怀杂货店

Java 设计模式

【LeetCode】保持城市天际线Java题解

Albert

算法 LeetCode 12月日更

JavaMoney规范(JSR 354)与对应实现解读

vivo互联网技术

Java、 API 虚拟化 虚拟货币

Vue之全局事件总线和消息订阅与发布

编程江湖

前端开发

阿里巴巴、埃森哲、德勤三方圆桌对话——《与数字化先锋共绘创新蓝图》

大咖说

阿里巴巴 大咖说 数字经济 数智化

使用 scipy.fft 进行Fourier Transform:Python 信号处理

华为云开发者联盟

Python 音频 信号处理 傅立叶变换 Fourier transform

Android C++系列:Linux Socket编程(二)网络套接字函数

轻口味

28天写作 Android; 12月日更

今年双12,《代码随想录》冲榜TOP1

博文视点Broadview

初识腾讯移动通讯 TPNS~

阿策小和尚

28天写作 Android 小菜鸟 12月日更

0 基础学习 Flutter~(mini 进阶版)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter 内容合集 签约计划第二季

龙蜥社区一周动态 | 12.06-12.10

OpenAnolis小助手

龙蜥社区

前端开发之cypress的自动化实践

@零度

前端 Cypress

面试官:说说react的渲染过程

全栈潇晨

React

React进阶(四):路由介绍

No Silver Bullet

React 路由 12月日更

大数据开发之数仓工具Hive(一)

@零度

大数据 hive 数仓工具

react源码解析9.diff算法

buchila11

React

大数据开发技术NN和2NN工作机制

编程江湖

大数据

设计模式【6.2】-- 再聊聊适配器模式

秦怀杂货店

Java 设计模式 适配器模式

云原生时代,领域驱动设计思想(DDD)如何落地?

华为云开发者联盟

软件架构 架构设计 建模 领域驱动设计思想 领域模型

在中国如何打造一个有生命力的开源项目?

Jianmu

DevOps 持续集成 CI/CD 开源社区 持续部署

react源码解析10.commit阶段

buchila11

React

Java反射机制获取运行时类的完整结构

编程江湖

JAVA开发

Linux学习方法《Linux一学就会》:网络管理技术

侠盗安全

Linux linux运维 运维工程师 云计算架构师

技术分享| Linux高并发踩过的坑及性能优化

anyRTC开发者

Linux 音视频 高并发 服务器 高并发优化

❤️使用 HTML、CSS 和 JS 创建在线音乐播放器(免费送完整源码)❤️

海拥(haiyong.site)

响应式 大前端 28天写作 签约计划第二季 12月日更

OPPO云VPC网络实践

安第斯智能云

云计算 SDN架构 智能网卡vpc

基于JSX的全新BDD工具 - Crius

RingCentral铃盛

存储空间降为原来的1/7,TDengine在中移物联网轨迹数据存储中的应用

TDengine

数据库 tdengine 时序数据库

推倒重来的觉悟

FunTester

单元测试 Mockito powermock spock FunTester

使用 JavaScript 给微信用户发送消息

汪子熙

微信 sdk 28天写作 Web JS SDK 12月日更

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