在过去的几十年里,Web 浏览器一直是最流行的跨平台应用程序。从另一个角度来看,浏览器是应用程序交付最流行的平台之一。想想您使用的所有网站,它们取代了您过去使用桌面软件所做的活动。您仍然在使用软件,但您正在通过浏览器访问它,并且它在别人的 Linux 服务器上运行。为了优化我们使用的所有软件,软件开发领域在 2019 年引入了 WebAssembly,作为一种通过 Web 浏览器运行编译代码的方式。应用程序性能比以往任何时候都更好,并且编码选项远远超出了 PHP、Python 和 JavaScript 的常用列表。
目标和语言
关于 WebAssembly,一个强大但也最令人困惑的事情是,“webassembly”这个术语既指一种语言,也指一个目标。 WebAssembly 是一种汇编语言,但很少有人选择直接用汇编语言编写代码。 即使是汇编语言最终也会转换为二进制格式,这是计算机运行代码所需要的。 这种二进制格式也称为 WebAssembly。 不过,这很好,因为这意味着您可以使用您选择的语言来编写最终以 WebAssembly 形式交付的内容,包括 C、C++、Rust、Javascript 等等。
进入 WebAssembly 的门户是 Emscripten,一个 LLVM 编译器工具链,可以从您的代码生成 WebAssembly。
安装 Emscripten
要在您的 Linux 或 macOS 计算机上安装 Emscripten,请使用 Git
$ git clone \
https://github.com/emscripten-core/emsdk.git
将目录更改为 emsdk
目录并运行安装命令
$ ./emsdk install latest
$ ./emsdk activate latest
Emscripten 工具链中的所有内容都安装在 emsdk
目录中,并且对系统的其余部分没有影响。 因此,在使用 emsdk
之前,您必须获取其环境
$ source ./emsdk_env.sh
如果您计划经常使用 emsdk
,您也可以在 .bashrc
中获取其环境设置脚本。
要在 Windows 上安装 Emscripten,您可以在 WSL 环境中运行 Linux。
访问 Emscripten 网站 以获取更多安装信息。
Hello world
这是一个用 C++ 编写的简单“hello world”应用程序。
#include <iostream>
using namespace std;
int main() {
cout << "Hello world";
return 0;
}
首先将其作为系统的标准二进制文件进行测试
$ g++ hello.cpp -o world
$ ./world
Hello world
看到它按预期工作,使用 emcc
将其构建为 WebAssembly
$ emcc hello.cpp -o world.html
最后,使用 emrun
运行它
$ emrun ./world.html
emrun
实用程序是一个方便本地测试的命令。 当您在服务器上托管您的应用程序时,emrun
不是必需的。
了解更多关于 WebAssembly 的信息
WebAssembly 的开发可以有多种方向,具体取决于您已知的知识和您尝试构建的内容。 如果您了解 C 或 C++,那么您可以使用这些语言编写您的项目。 如果您正在学习 Rust,那么您可以使用 Rust。 即使是 Python 代码也可以使用 Pyodide 模块作为 WebAssembly 运行。 您有很多选择,并且没有错误的开始方式(甚至还有一个 COBOL 到 WebAssembly 的编译器)。 如果您热衷于开始使用 WebAssembly,下载我们的免费电子书。
评论已关闭。