由于stdweb已经好久没有更新了,本人又写了另外一篇:


JiaYe:用Rust语言开发微信小程序:wasm-bindgenzhuanlan.zhihu.com


stdweb可以轻松将Rust代码编译为JavaScript和Webassembly字节码,本例中使用asmjs-unknown-emscripten作为编译目标。

stdwebcrates.io


首先要安装一些必要的工具:

1、Rust 程序设计语言

2、微信开发者工具:下载 · 小程序

3、Node.js (nodejs执行编译后修改js代码,如果手动修改可以不用)

4、(重要)微信小程序目前只有真机调试支持Webassembly,其他时候在手机运行是不支持wasm的,本人开发的两个小程序,都是使用asmjs-unknown-emscripten目标编译的,这就需要先安装配置emscripten,安装教程在此:


Main - Emscripten 1.38.21 documentationkripken.github.io

cs架构软件教程 cs架构的软件怎么开发_快速开发后台不用太多代码的 tp5


rustup添加编译目标:


rustup


创建小程序项目


cs架构软件教程 cs架构的软件怎么开发_快速开发后台不用太多代码的 tp5_02


编写Rust代码:

Cargo.toml


[package]
name = "testmini"
version = "0.1.0"
authors = ["planet0104 <planet0104@gmail.com>"]

[dependencies]
stdweb="*"


main.rs:


#[macro_use]


编写build脚本

replace.js:


var


build.cmd:


cargo


小程序中引用编译好的js文件


cs架构软件教程 cs架构的软件怎么开发_rust程序设计语言第二版pdf_03


编译Rust代码:


cs架构软件教程 cs架构的软件怎么开发_rust程序设计语言第二版pdf_04


文件编译完成自动复制到小程序文件夹,就可以看到运行结果了:


cs架构软件教程 cs架构的软件怎么开发_cs架构软件教程_05


这只是一个简单的Hello World。

将Rust编译成javascript,使得crates.io里的许多开源库都可在js中使用了。我用stdweb+gif开发了一个完整的GIF制作小程序《大头贴动画制作》,已经在微信小程序上线。源码:

planet0104/miniprogram-gifmakergithub.com

cs架构软件教程 cs架构的软件怎么开发_rust程序设计语言第二版pdf_06


https://mp.weixin.qq.com/a/~TP5_ekZs0RupWWYY5ytBGQ~~ (二维码自动识别)

2019-01-17更新:

我用Rust开发的另外一个小程序《识字画板》昨天上线了,其中主要的代码逻辑都是用Rust实现的,附上小程序码:

可以练字、写字的微信小程序,较孩子正确的汉子笔画。长按小程序码或微信扫一扫识别进入。欢迎使用!

识字画板小程序源码:

planet0104/miniprogram-write-teachergithub.com

cs架构软件教程 cs架构的软件怎么开发_Rust_07