编译为WebAssembly

各种语言的 WASM 编译能力整理得挺清楚,适合前端同学快速了解哪些语言能跑在浏览器里。页面风格简单直接,一看就懂,不用花时间研究一堆文档。配套的资源链接也挺全的,从 LLVM 到 WebAssembly,再到具体语言支持,想深入折腾也不怕没门路。

语言编译能力表的方式展示了哪些语言原生支持编译为 WASM,哪些需要借助像LLVM这样的中间工具,哪些干脆目前不支持,看得一目了然。

C/C++Rust这些老牌选手,直接走 LLVM 编译链,顺畅。Swift的话可以借助LLVMSwift试试看,蛮有意思的。如果你在搞Perl或者Java,嗯……目前支持还不太理想,要么转换中间语言,要么就别太指望能完美跑在浏览器里了。

顺手给你几个实用资源:像wasm-util这种小工具,用来检测和打包 WebAssembly 还挺方便;另外WASM-Check也推荐一下,适合在 Node.js 或者浏览器环境下判断 WASM 支持情况。

如果你打算把项目里的某段逻辑迁到 WebAssembly 上,可以先看语言支持,再对照你的工具链选方案。要是你在搞些需要高性能的模块,比如图片、加解密、音视频编解码,那 WASM 确实是条不错的路子。

zip
compile-to-web-master.zip 预估大小:75个文件
folder
compile-to-web-master 文件夹
folder
Haskell 文件夹
file
Vagrantfile 368B
file
hello.hs 30B
file
README.md 238B
file
scripts 202B
folder
Kotlin 文件夹
file
Vagrantfile 498B
file
hello.kt 63B
file
README.md 186B
file
scripts 268B
folder
Crystal 文件夹
file
Vagrantfile 498B
file
hello.cr 20B
file
README.md 197B
file
scripts 202B
folder
Swift 文件夹
file
Vagrantfile 504B
file
hello.swift 21B
file
README.md 421B
file
scripts 202B
file
compile-to-web.png 37KB
folder
C# 文件夹
file
Vagrantfile 498B
file
hello.cs 106B
file
README.md 331B
file
scripts 2KB
file
compile-to-web-inkscape.svg 5KB
folder
C 文件夹
file
Vagrantfile 496B
file
hello.c 57B
file
README.md 362B
file
scripts 616B
folder
Java 文件夹
file
Vagrantfile 574B
file
pom.xml 2KB
file
Hello.java 131B
file
README.md 149B
file
scripts 120B
folder
F# 文件夹
file
hello.fs 109B
file
Vagrantfile 498B
file
README.md 331B
file
scripts 202B
folder
D 文件夹
file
Vagrantfile 496B
file
hello.d 64B
file
README.md 231B
file
scripts 202B
folder
Julia 文件夹
file
Vagrantfile 498B
file
hello.jl 23B
file
README.md 164B
file
scripts 202B
folder
Python 文件夹
file
Vagrantfile 498B
file
hello.py 21B
file
README.md 181B
file
scripts 202B
folder
TypeScript 文件夹
file
Vagrantfile 498B
file
scripts 202B
file
hello.ts 28B
folder
Rust 文件夹
file
Vagrantfile 498B
file
hello.rs 44B
file
README.md 186B
file
scripts 832B
folder
Scala 文件夹
file
Vagrantfile 504B
file
hello.scala 97B
file
scripts 202B
file
LICENSE 1KB
folder
Go 文件夹
file
Vagrantfile 498B
file
hello.go 75B
file
README.md 291B
file
scripts 202B
file
CONTRIBUTING.md 1KB
file
.gitignore 1KB
folder
C++ 文件夹
file
Vagrantfile 500B
file
hello.cpp 99B
file
README.md 368B
file
scripts 618B
file
README.md 3KB
file
.editorconfig 115B
folder
Nim 文件夹
file
Vagrantfile 500B
file
nim.cfg 346B
file
hello.nim 19B
file
README.md 615B
file
scripts 202B
...
zip 文件大小:63.17KB