扫码阅读
手机扫码阅读

WebAssembly 2023 年回顾与 2024 年展望 | 盘点

44 2024-07-04

2023年WebAssembly技术发展回顾与展望

2023年,WebAssembly技术发展迅速,多项提议进入新阶段并获得广泛支持。应用场景不断扩展,吸引更多组织和开发者投入。本文回顾关键技术进展并展望未来趋势。

关键技术进展

  • GC、Func Ref 和 String Ref: WebAssembly GC特性为高级语言提供支持,允许将app直接编译成基于GC的目标代码,提升性能,减少代码体积。GC、Func Ref和String Ref提议已进入标准化阶段。项目如WAMR和Wasmnizer-ts支持GC特性,Func Ref支持动态函数调用,String Ref简化WebAssembly中字符串处理。
  • wasi-threads: 提议支持在WASI环境中的多线程,提供标准化API创建线程,如wasi_thread_spawn。已有wasi-sdk和开源社区如wasmtime和WAMR实现该提议。
  • Memory 64、Multi-Memories 和 Memory Control: 提议扩展WebAssembly内存模型至64位,支持大内存应用。Multi-Memories提议允许模块使用多个线性内存。Memory Control提议减少内存拷贝,提供内存映射和访问控制。Memory64已进入实现阶段,Multi-Memories和Memory Control提议引起兴趣。
  • Component Model 和 Core Module Dynamic Linking: Component Model提议解决多语言模块协作,支持序列化/反序列化。Core Module Dynamic Linking提议简化模块链接,已有工具链支持。
  • wasi-nn: 用于支持深度学习硬件加速的WASI扩展。支持TensorFlow和OpenVINO等框架,适用于多种计算硬件。
  • Exception Handling: 提议为WebAssembly添加异常处理机制,目前已进入实现阶段,得到诸如v8和Firefox的支持。

2024年展望

  • 规范写入: 多个提议如GC、Func Ref等有望正式写入规范,推动应用发展。
  • 数据共享和模块链接: 解决wasm模块间零拷贝数据传递和链接问题,提升性能和工具链完善。
  • 应用场景扩展: WebAssembly的应用可能涵盖更多专业领域,如汽车、云原生等。
  • 用户体验改善: 期待更友好的工具出现,如AOT/JIT调试工具等。

小结

WebAssembly在过去一年里取得显著演进,功能特性得到支持,应用场景日益增多。未来期待技术成熟度与实用性得到更大突破。

作者介绍

黄文勇、何良、徐君为Intel Web Platform Engineering软件工程师,Wasm Micro Runtime项目的贡献者。

Wasm Micro Runtime (WAMR) 介绍

WAMR是一个运行在浏览器外的Standalone WebAssembly虚拟机,支持多种执行模式,适用于多种应用。

InfoQ编辑部推出“年度技术盘点与展望”专题,聚焦AIGC变革和行业数字化。

想要了解更多,点击 查看原文

为一线互联网公司核心技术人员提供优质内容。科技圈的观察者,前沿技术的传播者。

94 篇文章
浏览 3997
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设 白皮书上线