From e1c01980c9fc56a0b45c78148368fdbeb2ccabb4 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 15 Feb 2023 20:41:28 +0800 Subject: [PATCH] RP @geekpi https://linux.cn/article-15541-1.html --- ...veloping for WebAssembly with our new guide.md | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) rename {translated/tech => published}/20230209.4 ⭐️ Start developing for WebAssembly with our new guide.md (69%) diff --git a/translated/tech/20230209.4 ⭐️ Start developing for WebAssembly with our new guide.md b/published/20230209.4 ⭐️ Start developing for WebAssembly with our new guide.md similarity index 69% rename from translated/tech/20230209.4 ⭐️ Start developing for WebAssembly with our new guide.md rename to published/20230209.4 ⭐️ Start developing for WebAssembly with our new guide.md index 23ebb50450..a5edf9b39f 100644 --- a/translated/tech/20230209.4 ⭐️ Start developing for WebAssembly with our new guide.md +++ b/published/20230209.4 ⭐️ Start developing for WebAssembly with our new guide.md @@ -3,18 +3,22 @@ [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15541-1.html" -用我们的新指南开始开发 WebAssembly +跟着我们的新指南学习开发 WebAssembly ====== -在过去的几十年里,Web 浏览器作为最流行的跨平台应用经久不衰。从另一个角度看浏览器,它是最受欢迎的应用交付平台之一。想想你使用的所有网站,它们取代了你过去用桌面上运行的软件进行的活动。你仍然在使用软件,但你是通过浏览器来访问它,而且是在别人的 Linux 服务器上运行。在优化我们所有人使用的软件的永恒努力中,软件开发世界早在 2019 年就引入了 WebAssembly,作为通过 Web 浏览器运行编译代码的一种方式。应用的性能比以往任何时候都要好,而且编码的选择远远超出了PHP、Python 和 JavaScript 的通常列表。 +![][0] + +> 使用 WebAssembly 开发有很多不同的方向,这取决于你已经知道的东西和你想建立的东西。 + +在过去的几十年里,Web 浏览器作为最流行的跨平台应用经久不衰。从另一个角度看浏览器,它是最受欢迎的应用交付平台之一。想想你使用的所有网站,它们取代了你过去用桌面上运行的软件进行的活动。你仍然在使用软件,但你是通过浏览器来访问它,而且是在别人的 Linux 服务器上运行。在优化我们所有人使用的软件的永恒努力中,软件开发世界早在 2019 年就引入了 WebAssembly,作为通过 Web 浏览器运行编译代码的一种方式。应用的性能比以往任何时候都要好,而且可以生成 WebAssembly 编码的语言远不只是通常的 PHP、Python 和 JavaScript。 ### 一个目标和一种语言 -关于 WebAssembly 的一个强大但也最令人困惑的地方是,“webassembly ”这个词既指一种语言,也指一个目标。WebAssembly 是一种汇编语言,但没有多少人选择直接用汇编写代码。即使是汇编语言,最终也会被转换为二进制格式,这也是计算机运行代码的要求。这种二进制格式也被称为 WebAssembly。不过这很好,因为这意味着你可以用你选择的语言来写一些最终以 WebAssembly 交付的东西,包括 C、C++、Rust、Javascript 和其他许多语言。 +关于 WebAssembly 的一个强大但也最令人困惑的地方是,“WebAssembly” 这个词既指一种语言,也指一个目标。WebAssembly 是一种汇编语言,但没有多少人选择直接用汇编写代码。即使是汇编语言,最终也会被转换为二进制格式,这也是计算机运行代码的要求。这种二进制格式也被称为 WebAssembly。不过这很好,因为这意味着你可以用你选择的语言来写一些最终以 WebAssembly 交付的东西,包括 C、C++、Rust、Javascript 和其他许多语言。 进入 WebAssembly 的途径是 Emscripten,这是一个 LLVM 编译器工具链,可以从你的代码中产生 WebAssembly。 @@ -23,8 +27,7 @@ 要在你的 Linux 或 macOS 电脑上安装 Emscripten,请使用 Git: ``` -$ git clone \ -https://github.com/emscripten-core/emsdk.git +$ git clone https://github.com/emscripten-core/emsdk.git ``` 改变目录进入 `emsdk` 目录并运行安装命令: @@ -34,7 +37,7 @@ $ ./emsdk install latest $ ./emsdk activate latest ``` -Emscripten 工具链中的所有内容都安装在 `emsdk` 目录下,对系统的其他部分没有影响。由于这个原因,在使用 `emsdk` 之前,你必须 source 它的环境: +Emscripten 工具链中的所有内容都安装在 `emsdk` 目录下,对系统的其他部分没有影响。由于这个原因,在使用 `emsdk` 之前,你必须 源引source 它的环境: ``` $ source ./emsdk_env.sh @@ -44,11 +47,11 @@ $ source ./emsdk_env.sh 要在 Windows 上安装 Emscripten,你可以在 WSL 环境下运行 Linux。 -请访问 [Emscripten 网站][1]了解更多安装信息。 +请访问 [Emscripten 网站][1] 了解更多安装信息。 -### Hello world +### Hello World -下面是一个用 C++ 编写的简单的 “hello world” 应用。 +下面是一个用 C++ 编写的简单的 “Hello World” 应用。 ``` #include @@ -85,7 +88,9 @@ $ emrun ./world.html ### 学习更多关于 WebAssembly 的知识 -为 WebAssembly 开发可以有很多不同的方向,这取决于你已经知道的东西和你想建立的东西。如果你了解 C 或 C++,那么你可以用这些来写你的项目。如果你正在学习 Rust,那么你可以使用 Rust。甚至 Python 代码也可以使用 Pyodide 模块来作为 WebAssembly 运行。你有很多选择,而且没有错误的开始方式(甚至有 COBOL 到 WebAssembly 的编译器)。如果你渴望开始使用 WebAssembly,[请下载我们免费的电子书][2]。 +使用 WebAssembly 开发可以有很多不同的方向,这取决于你已经知道的东西和你想建立的东西。如果你了解 C 或 C++,那么你可以用这些来写你的项目。如果你正在学习 Rust,那么你可以使用 Rust。甚至 Python 代码也可以使用 Pyodide 模块来作为 WebAssembly 运行。你有很多选择,而且没有错误的开始方式(甚至有 COBOL 到 WebAssembly 的编译器)。如果你渴望开始使用 WebAssembly, + +> **[请下载我们免费的电子书][2]** -------------------------------------------------------------------------------- @@ -94,7 +99,7 @@ via: https://opensource.com/article/23/2/webassembly-guide 作者:[Seth Kenlon][a] 选题:[lkxed][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -102,3 +107,4 @@ via: https://opensource.com/article/23/2/webassembly-guide [b]: https://github.com/lkxed/ [1]: https://emscripten.org/ [2]: https://opensource.com/downloads/webassembly-ebook +[0]: https://img.linux.net.cn/data/attachment/album/202302/15/204034uy4t9h6z6o06hj6j.jpg \ No newline at end of file