asm.js的目标比typescript、dart、pnacl都要大的多,它有可能成为web未来的基础设施。简单说,
它可能成为web上的jvm或.net,你可以把asm.js的代码看成未来web平台的bytecode。未来jvm及.net平台的语言也可以编译到asm.js,而不仅仅是c、c++,这实际意味着:未来所有的语言都应该可以编译为asm.js,从而使web摆脱js(或加上dart等极少数几种语言)的限制。ECMAScript6/7、dart再好,也不可能满足所有人的需求,比如我就希望可以用clojure等函数式语言写前端代码。
asm.js这个项目最聪明的一点,是他们知道完全摆脱js是极为困难的。这不是技术问题,而是涉及到几大厂商之间的利益博弈,因此dart、pnacl基本是不太可能流行的,虽然我非常喜欢google,但在这方面,他们走的太远太激进了,只有go这样的服务器语言才可能靠纯粹的技术优势使自身流行开来。在web前端开发领域,只有基于js(实际上是将js降级),才可能迫使google、apple等公司支持。asm.js的代码可以运行在任何现代浏览器中,你不支持没问题,就是慢点,可如果某几个流行的网游或某些还未出现的大型web应用明确表示,使用firefox可以获得高几倍的fps、更流畅的体验,我相信google、apple会很难受的,最终会被迫支持asm.js。
想象到未来所有的语言都可以通过编译为asm.js而进行web开发,而不用再忍受js,还真有点小激动呢。