rust wasm入门

Rust 编写 WASM 入门 RustWASM 具有很好的互操作性,没有理由不利用这一点来帮助我们使用其他语言。原文地址:Writing & Compiling WASM in Rust 阅读详情
在这里插入图片描述

📕作者简介: 过去日记,致力于Java、GoLang,Rust等多种编程语言,热爱技术,喜欢游戏的博主。
📘相关专栏Rust初阶教程go语言基础系列、spring教程等,大家有兴趣的可以看一看
📙Java并发编程系列,设计模式系列、go web开发框架 系列正在发展中,喜欢Java,GoLang,Rust,的朋友们可以关注一下哦!


@[TOC] # demo ## 编译 Rust 为 WebAssembly

在本教程中,我们将使用 Rust 的 npm 包构建工具 wasm-pack 来构建一个 npm 包。这个包只包含 WebAssembly 和 JavaScript 代码,以便包的用户无需安装 Rust 就能使用。他们甚至不需要知道这里包含 WebAssembly!

安装 Rust 环境

安装 Rust

前往 Install Rust 页面并跟随指示安装 Rust。这里会安装一个名为“rustup”的工具,这个工具能让你管理多个不同版本的 Rust。默认情况下,它会安装用于惯常 Rust 开发的 stable 版本 Rust Release。Rustup 会安装 Rust 的编译器 rustc、Rust 的包管理工具 cargo、Rust 的标准库 rust-std 以及一些有用的文档 rust-docs。

wasm-pack

要构建我们的包,我们需要一个额外工具 wasm-pack。它会帮助我们把我们的代码编译成 WebAssembly 并制造出正确的 npm 包。使用下面的命令可以下载并安装它:

cargo install wasm-pack

安装 Node.js 并获取 npm 账户

在这个例子中我们将会构建一个 npm 包,因此你需要确保安装 Node.js 和 npm 已经安装。另外,我们将会把包发布到 npm 上,因此你还需要一个 npm 账号。它们是免费的.
在 npm signup page 注册 npm 账户,并填写表格。

接下来,在命令行中运行 npm adduser:

> npm adduser
Username: yournpmusername
Password:
Email: (this IS public) you@example.com

Logged in as yournpmusername on https://registry.npmjs.org/.
如果并未正常运行,请联系 npm 解决。

构建我们的 WebAssembly npm 包

万事俱备,来创建一个新的 Rust 包吧。打开你用来存放你私人项目的目录,做这些事:

$ cargo new --lib hello-wasm
     Created library 
Rust + wasm 使用 WebAssembly(WASM)是一个简单的机器模型和可执行格式,具有广泛的规范。它被设计为便携、紧凑,代码执行能够达到接近本机原生指令的执行速度。作为一种编程语言,WebAssembly 由两种格式组成,它们以不同的方式表示相同的结构:后缀为 .wat 的文本格式(称为“WebAssembly Text”),可以被人类理解,使用 S-表达式。后缀为 .wasm 的二进制格式是较低级别的,人类无法读懂,它旨在供 wasm 虚拟机直接使用。 阅读详情

相关推荐

高安全前端架构:Rust-WASM 黑盒技术揭秘

本文介绍了基于 Rust 和 WebAssembly 的前端加密与防刷“黑盒”技术,提升安全性并优化用户体验,防止自动化脚本攻击的技术方案。

xinyebudaoshi的博客 2063

Rust 构建 Wasm 模块

Rust 构建 Wasm 模块 文章目录Rust 构建 Wasm 模块正文1. 安装1.1 使用 Rustup 安装 Rust1.2 安装 wasm-pack1.3 CLion 配置2. 手动构建 Rust to Wasm 项目2.1 创建项目2.2 配置文件 Cargo.toml2.3 模块导出函数 & 打包2.4 前端项目展示3. 使用 wasm-pack 模版构建3.1 配置文件补全3.2 模块导出函数 & 打包3.3 前端 @wasm-tool/wasm-pack-plugin 插件

超悠閒的博客 4775

Rust语言初探:WebAssembly 入门

Rust是一种系统编程语言,它注重安全、速度和并发性。Rust内存安全Rust通过所有权系统来保证内存安全,无需垃圾回收。类型安全Rust的强类型系统有助于在编译时捕捉错误。并发性Rust支持多线程和异步编程,提供了安全的并发编程模型。性能Rust编译成机器码,执行速度接近C和C++。跨平台Rust可以在多种操作系统和架构上运行。Rust作为一种现代的系统编程语言,其在领域的应用展示了它在前端开发中的潜力。通过学习Rust和,开发者可以构建更安全、更高效的前端应用。随着Rust

weixin_47588164的博客 380

基于 RustWasm 开发探索与实践

Rust + WASM 入门

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 3193

Rust WebAssembly 入门教程

本文介绍了如何使用Rust语言开发WebAssembly(WASM)应用。主要内容包括:1) 环境搭建,安装Rustwasm-pack工具链;2) 创建基础项目,实现加法函数与浏览器交互;3) 通过web-sys库实现WASM与DOM的相互调用;4) 性能对比测试,展示WASM在计算密集型任务中的优势。教程提供了完整代码示例,从简单函数到DOM操作,并通过斐波那契数列计算验证了WASM相较JavaScript的性能提升(示例显示WASM耗时3ms vs JS耗时32.7ms)。最后建议进一步学习wasm-

北京锋通科技有限公司的技术blog 1297

模糊哈希(BlurHash)Rust WebAssembly (WASM) 开源项目快速入门

模糊哈希(BlurHash)Rust WebAssembly (WASM) 开源项目快速入门 项目概述 本教程将引导您了解并使用fpapado/blurhash-rust-wasm项目。这是一个利用Rust编写的模糊哈希算法实现,并通过WebAssembly(WASM)技术使其在网页端可运行。模糊哈希是一种独特的编码方式,能将图像压缩成一个短字符串,尽管它不还原图像细节,但却能够给出足够接近的视觉...

gitblog_00378的博客 416

入门 Rust 开发 WebAssembly

本文来自 AirCloud 的知乎投稿:https://zhuanlan.zhihu.com/p/104299612写在前面可以用于开发 WebAssembly 的语言比较多,笔者之前也...

Rust语言学习交流 3176

wasm-tools完全指南:从入门到精通WebAssembly的终极Rust工具集

wasm-tools是一套基于Rust开发的WebAssembly底层工具集,提供了从验证、解析到组件构建的完整工作流。作为WebAssembly生态系统的核心工具,它帮助开发者轻松处理.wasm和.wit文件,实现从核心模块到组件模型的无缝转换。本文将带你全面了解这个强大工具的安装方法、核心功能和实战应用技巧。 ## 🚀 快速安装wasm-tools:两种简单方法 wasm-tools提供

gitblog_00441的博客 447

终极Rust WebAssembly开发入门:使用wasm-pack-template构建高性能Web应用

**wasm-pack-template**是一个专为Rust和WebAssembly项目设计的快速启动模板,通过**wasm-pack**工具链将Rust代码编译为WebAssembly并发布到NPM。本指南将帮助你从零开始创建高性能Web应用,无需深入复杂的底层细节。 ## 🚀 为什么选择Rust+WebAssembly? WebAssembly(Wasm)作为高性能的二进制指令格式,让

gitblog_00553的博客 864

5分钟上手wasm-pack-template:Rust开发者的WebAssembly入门指南

wasm-pack-template是一个专为Rust开发者设计的WebAssembly项目模板,通过它可以快速构建、测试和发布Rust编写的WebAssembly模块。本指南将带你在5分钟内完成从环境搭建到项目部署的全流程,让你轻松开启Rust与WebAssembly的开发之旅。 ## 📋 准备工作:环境搭建步骤 在开始使用wasm-pack-template前,需要确保你的开发环境中已安

gitblog_00137的博客 378

【TeamFlow】3 Rust 与 WebAssembly (Wasm) 深度应用指南

WebAssembly 是一种低级的类汇编语言,能在现代浏览器中高效执行。Rust 因其无 GC、内存安全和卓越性能,成为编译到 Wasm 的理想语言

weixin_43219667的博客 1692

Rust开发WASM,浏览器运行WASM

打开chrome访问http://localhost:8000,并且打开调试控制台,可以看到运行结果。编辑Cargo.toml文件,修改lib的类型为cdylib,并且添加依赖wasm-bindgen。wasm-pack build或wasm-pack --target web。下载wasm-bindgen的过程大概需要10分钟,请耐心等待。接下来创建文件index.html,使用wasm。首先需要安装wasm-pack。启动测试用web server。编译lib.rs生成wasm。修改代码lib.rs。

陈海峰的博客 1506

rust 编译wasm 使用

1.cargo 打包安装目标平台,可以通过命令查看 rust 覆盖的平台,还是很强的基本覆盖所有平台,命令查看方式 rustup target listrustup show 确认是否安装成功 或者 rustup target list --installed cargo build --target wasm32-unknown-unknown # 生成 target/debug 有.wasm 后缀。

gitxuzan 1074

微软的wasmrustwasm 方案对比

微软家的:blazor 看图即可见原理。mono.wasm用来构造了一个dotnet解释器。 在blazor被微软收购之前是用的dotnetanywhere,现在换成了mono 然后,直接加载那些dll,执行正经的IL代码。 这个方案,稳健,除了加载容量吓死人 这个helloworld,肉眼可见的压缩后容量超过100K的文件就4个。 开发工具 visual studio 2019 开发语言 IL家族 火狐家的rustwasm 非常干净,代码直接被编译为wasm执行,没有依赖

跨链技术践行者 1775

基于 RustWasm/Wasi 开发探索与实践(Linux开发环境)

Linux 下 Rust + Wasm/Wasi 开发

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 2976

rust语言编写wasm简单例子

rustwasm使用wasm-pack来build,有很多选项和target用于不同的目的,本文描述一个最简单的示例,不使用webpack和npm,让你可以快速入门和了解。

无名剑 2264

前端Rust二进制/wasm全平台构建流程简述

现代前端 Rust 构建基本分三大类,即 构建.wasm、构建.node二进制 、构建 swc 插件。对于单独开发某一类的流程,在上述参考文章中已有介绍,但对于一次开发后全平台构建发布,上述文章并未涉猎,基于此,本文将快速介绍一个最简的全平台构建(包括二进制.node与.wasm) 前端 Rust 包的开发流程是怎样的。

幻日のヨハネ 9067
上一篇: kitex Etcd配置中心
下一篇: minikube环境搭建
过去日记
过去日记 新星创作者: 后端开发技术领域 新星创作者: 后端开发技术领域
博客等级 码龄3年 5335粉丝 225原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

过去日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值