用于 WebAssembly 的类似 TypeScript 的语言。

开始使用 GitHub npm

为 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 许可证 2.0 版 下发布的免费开源软件,它建立在 Binaryen 之上,并且基于 WebAssembly 规范。它由以下令人敬畏的人们为您提供

贡献者

dcodeIOMaxGraeyHerrCai0907jtennerCountBleckJesseCodeBonesyjhmelodyromdotdogtorch2424technohippysaulecabreraLiaoPengalangpierceColinEberhardtDuncanUszkay1nidinsurmawillemnealLinusUFGasperghalimiandy-hansonforcepusherkazuponjayphelpsgzuidhofmattjohnsonpintFloorLampPinkaminaDianePiepiotr-olessidx1024ApsarasXJairusSWadurosphamannfatjonnyccouzenstrusktrmaxlkatcwellsErnestoBorioTyriardawsbotRehkitzDevsunfishcodeprogrammerjakemmathysporia-catpvoronanischayvWscatsrottencandycoder0107git

为什么要选择 AssemblyScript?

“您现在无需学习新语言即可编写 WebAssembly,并利用 WebAssembly 可能为您带来的所有这些好处。我认为这很强大。AssemblyScript 绝对可用,而且非常令人愉快!” – Surma面向 Web 开发人员的 WebAssembly(Google I/O '19)

“AssemblyScript 的设计考虑到了 WebAssembly 和代码大小。它不是我们为了新目的而使用的现有语言,而是一种专门为 WebAssembly 设计的语言。它与 wasm-opt 具有很好的集成,实际上它是用它构建的,而且很容易获得良好的代码大小。” – Alon Zakai发布小型 WebAssembly 构建(WebAssembly 峰会)

“我选择 AssemblyScript 是因为它具有高级可读性和低级控制。它就像一种高级语言,但您可以获得低级的感觉,甚至可以根据需要直接编写 WebAssembly 本质指令。” – Peter SalomonsenWebAssembly 音乐(WebAssembly 峰会)

感谢我们的赞助商!

大多数维护人员和贡献者在空闲时间进行这项开源工作。如果您将 AssemblyScript 用于一项严肃的任务或计划这样做,并且您希望我们投入更多时间,请捐赠给我们的 OpenCollective。通过赞助该项目,您的徽标将显示在下方。非常感谢您的支持!

黄金赞助商

NEAR FoundationShopifyThe GraphChainSafe Systems

白银赞助商

STOICFunrize™ Social CasinoWasmBook.com

青铜赞助商

Ryan ZurrerAlon ZakaiІгрові автоматиTriplebyteRoute4Me Route PlannerNoLimitCoinsFlintBuy Instagram Followers Twicsy

个人支持者

Riversweeps Sweepstakes SoftwareWebScraping.AI777Онлайн Казино УкраиныTom Ballinger#1 Sweepstakes Software for Internet CafesОнлайн казино slotoking УкраїнаHoofdkantoorІгрові автоматиJordan TimmermanІгрові автоматиОнлайн казино УкраїниForrest MoretJacob RichardsCharlie ArnoldТоп казиноTaylor ClarkHarry SolovayFunz Citytakanori sugawaraJonathan BeriJack ArringtonJeff Wainwrightemmanuelm41Agung Sidharta SoStrapisri sai swaroopEzra SavardincognitoJulius ShapiroRubenD777Open Source CollectiveRobinMaryGuest

加入我们的 Discord

如果您有只有人类才能回答的问题,想向其他人展示您正在进行的工作,或者只是想与其他 AssemblyScript 人员一起闲逛,请确保加入我们的 Discord 服务器!在那里,您会找到 #announcements#help 等等的频道。