Today at the annual Google I/O developer conference, Surma (Web Advocate at Google) hosted the session "WebAssembly for Web Developers". Surma recommended using AssemblyScript in order to convert code written in TypeScript into the portable binary format, WebAssembly. WebAssembly makes it so that code written in C/C++ and Rust is able to run on Chrome, Safari, Firefox and Edge Web browsers.
According to Surma, using AssemblyScript means that, “you don’t have to learn a new language to write to WebAssembly.”
Surma praised the benefits of AssemblyScript but points out that there is a challenge to be overcome in terms of memory management. Surma states, “Something to keep in mind is that, unlike TypeScript, WebAssembly doesn’t have the garbage collection, at least not yet.”
Thus developers using AssemblyScript will need to do their own memory management at the present time until a future version of AssemblyScript with garbage collection is released.
AssemblyScript has been on GitHub project since February 21, 2019, and enjoys a growing number of community projects and implementations. The language has been used to write the GameBoy wasmboy, Gameboy Emulator, also the original game, Gomoku. Also, there are utility libraries available such as the JSON encoder/decoder, assemblyscript-decoder, that help developers with some of the more mundane tasks associated with AssemblyScript programming.
Given the growing community support and the current endorsement from Google, AssemblyScript is positioned to be an important part of the WebAssembly ecosystem.