專為 WebAssembly 設計
AssemblyScript 專門針對 WebAssembly 的功能集,讓開發人員可以低階控制其程式碼。
熟悉的 TypeScript 語法
它與 TypeScript 的相似之處,使得編譯成 WebAssembly 變得容易,而無需學習新的語言。
觸手可及
與現有的 Web 生態系統整合 - 無需設定繁重的工具鏈。只需 npm install
它!
#!runtime=stub
/** Calculates the n-th Fibonacci number. */
export function fib(n: i32): i32 {
var a = 0, b = 1
if (n > 0) {
while (--n) {
let t = a + b
a = b
b = t
}
return b
}
return a
}
#!html
<textarea id="output" style="height: 100%; width: 100%" readonly></textarea>
<script type="module">
const exports = await instantiate(await compile(), { /* imports */ })
const output = document.getElementById('output')
for (let i = 0; i <= 10; ++i) {
output.value += `fib(${i}) = ${exports.fib(i)}\n`
}
</script>
AssemblyScript 是在 Apache License, Version 2.0 下發布的免費開源軟體,建立在 Binaryen 之上,並基於 WebAssembly 規格。它是由以下很棒的人們帶給您的
為什麼選擇 AssemblyScript?

「您現在能夠在無需學習新語言的情況下編寫 WebAssembly,並利用 WebAssembly 可能為您提供的所有這些優勢。我認為這非常強大。AssemblyScript 絕對可用,而且非常愉快!」– Surma, Web 開發人員的 WebAssembly (Google I/O ’19)

「AssemblyScript 的設計考慮了 WebAssembly 和程式碼大小。它不是我們用於新目的的現有語言,而是一種專為 WebAssembly 設計的語言。它具有很好的 wasm-opt 整合,實際上它是用它建構的,並且很容易獲得良好的程式碼大小。」– Alon Zakai, 運送微小的 WebAssembly 建置 (WebAssembly Summit)

「我選擇 AssemblyScript 是因為它具有高階可讀性和低階控制。它就像一種高階語言,但您可以獲得低階感覺,如果您想的話,甚至可以直接編寫 WebAssembly 本徵函數。」– Peter Salomonsen, WebAssembly 音樂 (WebAssembly Summit)
感謝我們的贊助商!
大多數維護者和貢獻者都在他們的空閒時間從事這項開源工作。如果您將 AssemblyScript 用於嚴肅的任務或計畫這樣做,並且希望我們投入更多時間,請捐贈給我們的OpenCollective。透過贊助此專案,您的標誌將顯示在下方。非常感謝您的支持!
加入我們的 Discord
如果您有只有人類才能回答的問題,想向其他人展示您正在做的事情,或者只是想與其他 AssemblyScript 人們一起閒逛,請務必加入我們的 Discord 伺服器!您將在那裡找到 #公告、#幫助 等頻道。