扫码阅读
手机扫码阅读
WebAssembly 2023 年回顾与 2024 年展望 | 盘点
277 2024-07-04
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章来源:
InfoQ
扫码关注公众号
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变革和行业数字化。
想要了解更多内容?
文章来源:
InfoQ
扫码关注公众号
InfoQ的其他文章
纯向量数据库和向量插件都有局限,那未来发展有其他方向吗?
这篇文章中,我们将深入剖析向量数据库核心技术的争议点,解释其优势和局限性,为读者提供全面而清晰的了解。
微服务穷途末路?新招式能否开启“黄金演进期”?
本文 InfoQ 采访了字节跳动服务框架团队架构师、CloudWeGo 开源负责人罗广明,探讨了微服务发展十几年来的进展和关键技术演变。
Zoom 开源新的漏洞影响平分系统 VISS
Zoom漏洞影响评分系统(VISS)旨在帮助组织根据一种新的漏洞评分方法来执行安全措施。
微软发布 Visual Studio 扩展 NuGetSolver,简化 NuGet 依赖项冲突解决过程
微软发布Visual Studio扩展NuGetSolver,旨在简化Visual Studio项目中NuGet依赖项冲突的解决过程。
AWS 无服务器架构幂等性初探
了解AWS无服务器的幂等性,应对至少一次传递挑战。
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线