今天是: 资源天下网址大全欢迎您!   资源天下网址大全为主页 保存桌面 繁體转换
资源天下网址大全 闹 钟
网站首页 - 新闻资讯 - 为什么TypeScript不太可能支持编译成WASM?

为什么TypeScript不太可能支持编译成WASM?


日期:2020年4月23日  浏览: 76 次  来源: 资源天下

分享到:

   我很喜欢 TypeScript,它是一门设计得很精妙的语言。但我觉得 TypeScript 不太可能支持编译成 WASM。两个原因:
   首先,二者的类型系统有一些鸿沟(前文已经提到了),如果强要把 TypeScript 编译成 WASM,需要 AssemblyScript 这样的语言。然而,这样就意味着整个 TypeScript 和 javascript 的生态圈就很可能无法使用了。而 TypeScript 最大也是最成功的优势就是在为项目渐进式地引入类型系统的同时,保持了对整个生态圈的兼容。如果这个优势不存在,那么使用它的意义何在?
   其次,为什么我们要把 TypeScript 编译成 WASM?它能带来什么好处?
   更好的性能?如果项目对性能的需求真的变态高,高到是 TypeScript 解决不了的,比如构建一个游戏引擎,那为何不换一种效率更高的语言,比如 rust 撰写,然后编译成 WASM 呢?
   更小的代码体积?抱歉,这个 WASM 真的要吼:臣妾做不到啊。
   更高效地和 DOM 以及浏览器事件互操作?抱歉,WASM 操作 DOM 需要经过 javascript。。。再看看上图 vim.wasm 是怎么做的。
   如果我们无法回答这个问题,那么花那么大精力支持把 TypeScript 编译成 WASM 有什么意义?仅仅是为了赶时髦搭上新技术的列车么?
   我们看 chrome 里对 javascript 和 WASM 的支持:
   可以看到,二者是不是取代,而是并存的关系。它们背后使用了同样的执行引擎 TurboFan。javascript 代码在解析和 JIT 阶段会耗费不少时间,但一旦代码在运行时被优化后,其执行效率和 WASM 并没有太大的区别。而对 javascript 这样灵活的语言来说,运行时的优化比 AOT 时期的优化能够做更多的事情。如果强行把它在编译期编译好,反而可能影响运行时的效率。所以,我想不太出来把 TypeScript 编译成 WASM 的在 web 上的使用场景。
   当然,WASM 还有一个不容忽视的使用场景是服务器端。它脱胎于 web 的安全性使得它成为后端取代 docker 这样的沙箱的绝好平台。如果 WASI 相关的应用在后端蓬勃发展,那么对于一个 TypeScript 工程师,可以写能够运行在服务器端的 WASM 运行时 wasmer / wasmtime 上,也许还是有些吸引力的。这也许是唯一的,把 TypeScript 编译成 WASM 的理由。
  

相关文章
什么是WASM?它解决什么问题?
为什么TypeScript不太可能支
导航推荐
最新收录
城际网站目录 九九影院
建筑中国网 - ARCHINA 商务中国
车吉祥 江苏烽火台通讯
烟台金沃泉塑胶 温州广告公司
宁波logo设计 合肥设计公司
华尚科技 河南鼎之旺机械
苏州博启轩网络科技 博思迈网络科技
返回顶部】【共享打印】【关闭本页】【返回首页
·上一篇: 什么是WASM?它解决什么问题?     下一篇: 区块链成为对抗疫情的有用工具
广告招租
关于本站 | 联系本站 | 新站登录 | 免责声明 | 使用帮助 | | 广告服务 | 网站地图
Copyright © 2008-2016 www.kj009.net Corporation, All Rights Reserved <{{icp}}>
申明:本站所收录的网站均为优秀网站,所有网址链接均经过本站检核,杜绝钓鱼网站,您可放心使用。任何违法链接,一经发现,立即删除!