
顶级 WebAssembly 语言
WebAssembly (Wasm) 为可执行程序定义了一种可移植的二进制代码格式。它可用于 在浏览器中运行支持 WebAssembly 的语言。因此,你不再局限于 只能在浏览器中使用 JavaScript。在本文中,我将向你介绍哪些编程语言 目前支持 WebAssembly。
C#
在 .Net 领域,Blazor 是微软公司目前提供互操作性的产品。 和 JavaScript 之间的互操作性。您可以编写前端和后端应用程序 只能用 C# 编写。前端部分在浏览器中的 WebAssembly 上运行。
https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blazor
AssemblyScript
AssemblyScript 与 TypeScript 类似,但编译为 WebAssembly 而不是 JavaScript。 因此,对于图像处理等计算量大的逻辑,您可以使用 AssemblyScript,因为其性能比类似的 TypeScript 代码 性能比类似的 TypeScript 代码更好。
https://www.assemblyscript.org
C / C++
Emscripten 是一种可将 C/C++ 代码编译成 WebAssembly 的编译器。它是 市场上最早的 WebAssembly 编译器之一。
COBOL
COBOL 是一种商业编程语言,在许多传统大型机应用程序中仍在使用。 Cobweb 项目通过 C 语言将 COBOL 编译成 WebAssembly,从而使这一著名语言得到更广泛的使用。
https://github.com/cloudflare/cobweb
D
D 编程语言的设计者们希望设计出 "更好的 C++"。它主要用于 系统级编程。编译器有一个输出到 WebAssembly 的选项。
Faust
浮士德是一种用于声音合成和音频处理的函数式编程语言。它还 支持 WebAssembly。
Go
Go 是一种静态编译的编程语言,考虑到了垃圾回收和并发性。 它支持 WebAssembly。
Pascal
Pascal 是一种程序化编程语言,由 Niklaus Wirth 设计。Free Pascal 编译器 也将 WebAssembly 作为编译目标。
PHP
PHP 是一种针对网络开发的通用脚本语言。目前 在 WebAssembly 上运行 PHP。它被称为 "Wasmer PHP",托管在 GitHub 上。
https://github.com/wasmerio/wasmer-php
Python
Python 是一种高级、非常流行的通用编程语言。Pyodide 发行版的目标是 浏览器的 Python 和使用 WebAssembly 的 Node。
https://github.com/pyodide/pyodide
Rust
Rust 是一种多范式通用编程语言。Rust 实现了内存安全,在系统编程方面很受欢迎。 Rust 支持 WebAssembly。
Swift
Swift 是苹果公司开发的一种编译型通用编程语言。使用 SwiftWasm 项目,你可以 将 Swift 编译为 WebAssembly。
结论
从上面的列表中可以看出,目前有许多编程语言都支持 WebAssembly。这样,你就不会被浏览器上的 JavaScript 所束缚,而是可以使用最适合任务的语言。 语言。随着时间的推移,编程语言对 WebAssembly 的支持可能只会越来越多。
参考资料
-
WebAssembly.org: https://webassembly.org
-
Awesome WASM Langs: https://github.com/appcypher/awesome-wasm-langs
-
Cover image Photo by Philip Oroni on Unsplash.