WebAssembly 与 Rust 综述

本文介绍了WebAssembly(WASM)的基本概念、特点和成熟度较高的编译语言,尤其是Rust。由于Rust的安全性、开发效率和完善的生态,成为WASM的最佳搭档。文章讨论了WASI规范的重要性,以及Wasmtime、Lucet和Wasmer等WASI兼容运行时项目。最后,指出WASM和Rust在Web和非Web环境中的应用潜力。
摘要由CSDN通过智能技术生成

首先要说一句,WebAssembly 是一项极速发展的技术,互联网上流传的很多文章(17,18年所写)已经过时了。所以,请尽量查阅最新时间的相关描述文档。

WebAssembly 是什么

来看一下标准定义:

WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications.

WebAssembly(缩写为 Wasm)是一种面向栈虚拟机的二进制指令格式,Wasm 被设计为一种可迁移的目标格式,可以作为 C/C++/Rust 这类高级语言的编译目标。这让 Wasm 能够被部署在 Web 客户端和服务端程序中运行。

WebAssembly被设计为可以和JavaScript一起协同工作——通过使用WebAssembly的JavaScript  API,你可以把WebAssembly模块加载到一个JavaScript应用中并且在两者之间共享功能。这允许你在同一个应用中利用WebAssembly的性能和威力以及JavaScript的表达力和灵活性,即使你可能并不知道如何编写WebAssembly代码。

Wasm 已经被 Firefox, Chrome, Safari, Edge 支持。

官方网页:https://webassembly.org/

Wasm 的特点:

  • 高效运行

  • 安全

  • 开放可调试

  • 开放Web平台的一部分

高效运行。Wasm 栈虚拟机指令被设计得非常紧凑,生成的二进制文件体积小,加载时间缩短。WebAssembly 目标是接近本地的执行速度,同时能利用不同平台的硬件能力。

安全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值