前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >给WASM浇点“冷水”

给WASM浇点“冷水”

原创
作者头像
DifficultWork
发布2024-01-02 16:46:25
1150
发布2024-01-02 16:46:25
举报
文章被收录于专栏:阶梯计划阶梯计划

前言

WASM(WebAssembly) 最近的热度挺高的,本来想了解下这个技术,看了好多介绍,开头必谈 Docker 创始人 Solomon Hykes 的一条推文:lf WASM+WASI existed in 2008, we wouldn't haveneeded to created Docker. That's how important it is.Webassembly on the server is the future of computing. (如果 WASM 和 WASI 早在 2008 年就存在,那么我们就不需要创建 Docker。可见 Wasm 是多么重要。服务器上的 WebAssembly 将会是“计算”的未来模式。)

但是大多数的文章只提到了上面的内容,要知道“要断章取义”取自于“不要断章取义”,这个推文还有下面一句:A standardized system interface was the missing link. Let's hope WASl is up to the task! (而现在的问题是缺少标准化的系统接口。希望 WASI 能够胜任这项工作!)

当然作者不是再次贬低 WASM,而是觉得技术布道者还是要客观一点,一个新技术对于初学者所在的业务领域是否适用是非常重要的,不能为了扩大生态“鼓吹”技术。所以在这里阐释下个人对 WASM 的理解。

1 WASM 解决了什么问题

简单一句话:解决 JavaScript 的性能问题。

并且在此之前有 Google 的 V8 引擎,WASM 最初也是为了让浏览器可以做一些密集计算的工作,但是后来又有了从浏览器中剥离出来的 WASM 运行时(沙盒),所以又给 WASM 加了很多的标签:跨语言、跨平台、轻量级、安全。然后 WASM 的应用领域又拓展到serverless、IoT、微内核、甚至新的云容器标准(替代 containerd)。

2 客观的看待 WASM

一个很简单的道理:天下没有免费的午餐。当强调一个东西很轻量级时,那么对应的是功能有限;当强调一个技术很安全时,那表示这项技术应用场景也是很有限的。正如 Solomon Hykes 的后面一句:这一切都取决于 WASI,WASM 能做到什么程度还是取决于提供的系统接口。

如果将 WASM 比喻成一个很安全的房子,那么 WASI 就是这个房子的窗户,当窗户很少时,这个房子就比较安全,但是从这个房子看到外面的东西也很有限,当不断增加窗户时,安全系数必然会跟着降低,同理,房子的结构(轻量级)也会变得复杂(失去轻量级的优势)。

3 要不要使用 WASM

这里等于说句废话:因地制宜,技术再好还是要合适。目前了解到 WASM 的一些优秀应用:

  • 腾讯邮箱的附件扫描:密集计算型
  • bilibili web投稿:加速本地视频读取,生成图片
  • Figma:核心 Canvas 交互是由 WASM 控制的

还有更多,本人了解有限...

结尾

再次强调该文章不是贬低 WASM,对待技术还是实事求是、避免形而上学。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1 WASM 解决了什么问题
  • 2 客观的看待 WASM
  • 3 要不要使用 WASM
  • 结尾
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档