What is assembler?
«Assembler language» is a programming language that is classified one level higher than the direct machine language.
The processor manufacturers have each defined individual instructions («codes») for their processor in binary form. The programmer could write these instructions to a file, which was then read and executed by the processor. These codes enable the whole functionality of a computer application, which consists in the background only of memory manipulation/shifting.
What is WebAssembly (WASM)?
WebAssembly can also be translated into binary format as machine code, and compiler languages – languages whose code is translated into machine language prior to execution, such as C, C++, or Rust – can be compiled («translated») into WebAssembly.
Thanks to WebAssembly, these programs can now be used on the Internet. This makes WebAssembly one of the most important new features in web development, as it takes advantage of the compiler languages.
Since the release of WebAssembly many innovative and interesting applications have been developed. The functionality of WebAssembly not only allows new apps – which can be written in the developer's favourite compiler language – to be executed via the browser, but also other desktop applications to run over them without any problems thanks to a few adjustments. Also, «old» programs or games that have not been used often for a long time can be executed in the browser, which would arouse new interest in them and make them popular again. As an example: Someone took the trouble to revive the formerly very popular Windows 95 with WebAssembly.
WebAssembly repertoire on Github