Redian新闻
>
跟着我们的新指南学习开发 WebAssembly | Linux 中国

跟着我们的新指南学习开发 WebAssembly | Linux 中国

科技
 
导读:使用 WebAssembly 开发有很多不同的方向,这取决于你已经知道的东西和你想建立的东西。   
本文字数:2066,阅读时长大约:2分钟

使用 WebAssembly 开发有很多不同的方向,这取决于你已经知道的东西和你想建立的东西。

在过去的几十年里,Web 浏览器作为最流行的跨平台应用经久不衰。从另一个角度看浏览器,它是最受欢迎的应用交付平台之一。想想你使用的所有网站,它们取代了你过去用桌面上运行的软件进行的活动。你仍然在使用软件,但你是通过浏览器来访问它,而且是在别人的 Linux 服务器上运行。在优化我们所有人使用的软件的永恒努力中,软件开发世界早在 2019 年就引入了 WebAssembly,作为通过 Web 浏览器运行编译代码的一种方式。应用的性能比以往任何时候都要好,而且可以生成 WebAssembly 编码的语言远不只是通常的 PHP、Python 和 JavaScript。

一个目标和一种语言

关于 WebAssembly 的一个强大但也最令人困惑的地方是,“WebAssembly” 这个词既指一种语言,也指一个目标。WebAssembly 是一种汇编语言,但没有多少人选择直接用汇编写代码。即使是汇编语言,最终也会被转换为二进制格式,这也是计算机运行代码的要求。这种二进制格式也被称为 WebAssembly。不过这很好,因为这意味着你可以用你选择的语言来写一些最终以 WebAssembly 交付的东西,包括 C、C++、Rust、Javascript 和其他许多语言。

进入 WebAssembly 的途径是 Emscripten,这是一个 LLVM 编译器工具链,可以从你的代码中产生 WebAssembly。

安装 Emscripten

要在你的 Linux 或 macOS 电脑上安装 Emscripten,请使用 Git:

  1. $ git clone https://github.com/emscripten-core/emsdk.git

改变目录进入 emsdk 目录并运行安装命令:

  1. $ ./emsdk install latest
  2. $ ./emsdk activate latest

Emscripten 工具链中的所有内容都安装在 emsdk 目录下,对系统的其他部分没有影响。由于这个原因,在使用 emsdk 之前,你必须 源引(source) 它的环境:

  1. $ source ./emsdk_env.sh

如果你打算经常使用 emsdk,你也可以在 .bashrc 中加入环境设置脚本。

要在 Windows 上安装 Emscripten,你可以在 WSL 环境下运行 Linux。

请访问 Emscripten 网站🔗 emscripten.org 了解更多安装信息。

Hello World

下面是一个用 C++ 编写的简单的 “Hello World” 应用。

  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4. cout << "Hello world";
  5. return 0;
  6. }

先把它作为你的系统的标准二进制文件来测试:

  1. $ g++ hello.cpp -o world
  2. $ ./world
  3. Hello world

看到它像预期的那样工作,用 emcc 把它构建为 WebAssembly:

  1. $ emcc hello.cpp -o world.html

最后,用 emrun 运行它:

  1. $ emrun ./world.html

emrun 工具是一个用于本地测试的方便命令。当你在服务器上托管你的应用时,emrun 就没有必要了。

学习更多关于 WebAssembly 的知识

使用 WebAssembly 开发可以有很多不同的方向,这取决于你已经知道的东西和你想建立的东西。如果你了解 C 或 C++,那么你可以用这些来写你的项目。如果你正在学习 Rust,那么你可以使用 Rust。甚至 Python 代码也可以使用 Pyodide 模块来作为 WebAssembly 运行。你有很多选择,而且没有错误的开始方式(甚至有 COBOL 到 WebAssembly 的编译器)。如果你渴望开始使用 WebAssembly,

请下载我们免费的电子书🔗 opensource.com


via: https://opensource.com/article/23/2/webassembly-guide

作者:Seth Kenlon 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LCTT 译者 :geekpi
💎💎💎💎
翻译: 1868.5 篇
|
贡献: 3400 天
2013-10-25
2023-02-15
https://linux.cn/lctt/geekpi
欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
Brand New Apple SERIES 7 Blue Aluminum CaseAbyss 45mmOn The Table at Two Sessions, Employment, Cross-Border Trade世界上只有两个 Linux 发行版:Arch Linux 与其它 | Linux 中国【租房】橙线Assembly站|高级公寓Montaje|超大Studio转租blendOS 的目标:取代所有的 Linux 发行版 | Linux 中国Java极客眼中的WebAssembly【租房】免中介费,7分钟到Tufts,近新地铁绿线和Assembly,三室全翻新公寓出租|无忧精选公寓楼让无服务器微服务超越容器,开发工具初创公司Fermyon 推出 WebAssembly 云6 种 WebAssembly 的优化手段周末愉快 爬梯【无忧买房】Somerville一室公寓出售,37.95万美元,近全新地铁绿线、Assembly和I-93高速Young Chinese Embrace Temple Visits to Evade Life’s Pressures吃整全植物抗癌吗?【租房推荐】Assembly Row旁高级公寓楼推荐活动预告 | 清华-INSEAD EMBA(TIEMBA)项目介绍及报考说明会【无忧买房】Medford联排别墅出售,66.99万美元,近I-93高速、Assembly和日本超市《更多的诗歌》:12: 我什么都没许诺: 朋友将要分离【租房】Assembly附近全翻新公寓出租,私人洗衣设备,有车位,多种户型6月可入住|无忧精选公寓楼Web3 fireside chat #1: Web3 privacy by Kenny Li (MBA '20)无中介费|近橙线assembly地铁站高级公寓studio 3085+, 1b1b 3590+,2B2B 4545+【青春的风向标】【免1月租+免中介】【Assembly Row】【Studio/1B/2B】【$2500起】【现房,可排位】周末随笔【Assembly Square热门高级公寓接受本科生】【现在入住免房租到5月!】【门前橙线地铁站/俯视海湾风光】近橙线assembly地铁站高级公寓studio 2665+, 1b1b 3259+,2B2B 4599+【Assembly Row高级公寓|免中介费|近橙线地铁】【新指南,新一线】ARNI成为新一类常用降压药!2023中国高血压防治指南更新要点展望【租房】6月入住,全翻新公寓出租,有车位可租,近Tufts和Assembly|无忧精选公寓楼国海研究 | 我们的行业,我们的2022,我们的2023!UNReal 每周一场主题电音节|本周六𝘿𝙧𝙪𝙢 𝙣' 𝘽𝙖𝙨𝙨 炸裂舞池!Information Session Webinar Invitation | Discover Booth EMBASSENSE全场大牌2折起! Jacquemus开衫$177、Stüssy Nike联名套头衫$120限时免一个月房租|近橙线assembly地铁站高级公寓折后studio 2267+, 1b1b 2662+,2B2B 3712+天赋“易昺(bǐng)”,创造历史!植物为主的膳食抗癌吗?中国有望成为世界第二大乘用车出口国 | Bloomberg Businessweek
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。