从 Rust 开始入门 WebAssembly


从 Rust 开始入门 WebAssembly | WebAssembly 教程


在上一篇文章里,我们介绍了 。

现在先从 Rust 开始动手实践吧。 Rust 是当今编写 WebAssembly 应用程序的最佳语言。

本文所用到的源代码Repo请点击:https://github.com/second-state/wasm-learning/tree/master/rust

虽然 WebAssembly 支持多种编程语言,但迄今为止, Rust 拥有最好的工具。 在过去的4年里,Rust 被 StackOverflow 用户评选为最受喜爱的编程语言,是增长最快的编程语言之一。

Rust 像 C 一样通用和高效,但是由于它的编译器设计,Rust 比 C 安全得多。 像 C 语言一样,Rust 有一个学习曲线。 在本教程中,我将帮助您开始使用 Rust 编程语言。你可以通过在线资源,比如这本书了解更多有关 Rust 语言的信息。

安装Rust

在典型的 Linux 系统里,运行下面的指令安装 Rust 编译器和 cargo工具来创建管理。

<code>$ sudo apt-get update
$ sudo apt-get -y upgrade

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ source $HOME/.cargo/env
/<code>

Hello World

此演示应用程序的源代码可以点击:https://github.com/second-state/wasm-learning/blob/master/rust/hello.md

首先,让我们使用 cargo 创建一个新项目。

<code>$ cargo new hello
Created binary (application) `hello` package
$ cd hello
/<code>

在 src/main.rs 中的main () 函数,是执行 Rust 应用程序时的入口点。Src / main. Rs 文件内容如下。该代码只是将一个字符串“ helloworld”打印到标准输出。

<code>fn main() {
println!(“Hello, world!”);
}
/<code>

接下来为你的机器创建二进制可执行文件。

<code>$ cargo build --release
Compiling hello v0.1.0 (/home/ubuntu/wasm-learning/rust/hello)
Finished release [optimized] target(s) in 0.22s
/<code>

你现在可以运行你的第一个 Rust 程序并查看 console 上的“Hello World”

<code>$ target/release/hello
Hello, world!
/<code>

互动

这个演示的源代码可以在这里找到 https://github.com/second-state/wasm-learning/blob/master/rust/cli.md。

同样,让我们使用 cargo 创建一个新项目。

<code>$ cargo new cli
Created binary (application) `cli` package
$ cd cli
/<code>

Src / main.Rs 文件的内容如下。env::args() 会保存我们执行程序时从命令行传递的字符串值。 这里还要注意到,我们先创建一个 Rust 字符串,然后将更多的字符串引用附加给它。 为什么我们必须连接字符串引用而不是字符串值? 这就是 Rust 让程序变得安全的原因。 点击这里了解更多。

<code>use std::env;

fn main() {
let args: Vec<string> = env::args().collect();
println!("{}", String::from("Hello ") + &args[1]);
}
/<string>/<code>

接下来,为你的机器创建二维码可执行文件。

<code>$ cargo build --release
/<code>

你可以运行程序,并传入一段命令行代码

<code>$ target/release/cli Rust
Hello Rust
/<code>

WebAssembly 呢?

现在我们已经了解了如何从 Rust 源代码创建本地可执行的程序。 可执行的程序只能在生成计算机上运行,可能不安全。 在接下来的教程中,将展示:

  • 如何从 Rust 源代码构建 WebAssembly 字节码程序而不是本地可执行文件。
  • 如何通过 web 浏览器而不是繁琐的命令行与 WebAssembly 程序进行交互。

相关阅读


分享到:


相關文章: