Today’s web apps aren’t as fast and responsive as native desktop apps, but what if it was possible? It is a promise. WebAssembly..
WebAssembly is a compact, low-level binary assembly-style language that runs in a web browser with near-native performance. At the same time, WebAssembly provides portable build targets for C / C ++, C #, Rust, Go, Kotlin, Swift, and other programming languages.
WebAssembly has led to the development of a variety of new technologies, including a whole new programming language that harnesses its power. Below are 10 language projects that made big bets on WebAssembly.
Binaryen’s internal IR (intermediate representation) uses a compact data structure and uses all processor cores for parallel code generation and optimization. And because IR is a subset of WebAssembly, it’s easy to compile into WebAssembly. Optimizations specific to WebAssembly improve both code size and speed, and Binaryen itself serves as the backend to the compiler.
You can download Binaryen from. GitHub..
Instructions for getting started with Blazor are available at: dotnet.microsoft.com..
Cheerp can be downloaded from: Leaningtech.com..
Like Cheerp, CheerpJ comes from Leaning Technologies. You can download it from. Leaningtech.com..
You can download Emscripten from: emscripten.org..
Forest is a functional programming language that compiles into WebAssembly. Forest’s goal is to provide a language that makes it easy to build complex, interactive, and functional web applications, but without the traditional overhead of this approach.
Currently described as “pre-alpha, experimental and conceptual research software,” Forest offers static typing, pattern matching, immutable data structures, multiple syntaxes, and automatic code formats. The first syntax in development was inspired by Elm and Haskell.
Forest language design principles include ease of collaboration, testing as simple as possible, and agreements on structure and semantics, but disagreements over syntax. Johnstone strives to create forests fast enough to build complex games so that classic web applications are “super fast”.
You can download the forest from. GitHub..
The grain language brings the functionality of academic and functional languages into the 21st century, the project website says. Compile on WebAssembly via Vinarien Grain, the toolchain and compiler infrastructure, can run in browsers, servers, and potentially anywhere. There are no run type errors and no type annotation is required. The Grain toolchain includes a CLI, a compiler, a runtime environment, and a standard library and is delivered as a single binary. Developers need Node.js and Yarn to build Grain from source, and binaries for Linux, MacOS, and Windows are available.
Instructions for getting started with Grain are available at: Grain-lang.org..
JWebAssembly from I-Net Software is a Java bytecode to a WebAssembly compiler that takes Java class files as input and produces WebAssembly binary (.wasm files) or text (.wat files) files as output. The goal is to run natively in the browser using WebAssembly. In theory, JWebAssembly can compile languages that can be compiled into Java bytecodes such as Clojure, Groovy, JRuby, Kotlin, and Scala awaiting testing.
JWebAssembly is not yet ready for production. Everything needed for version 1.0 of JWebAssembly has been implemented, but there is still testing. The version 1.0 roadmap requires features like Java bytecode analyzers, test frameworks, and Gradle plugins. I-Net Software plans to ship JWebAssembly 1.0 later this year.
You can download JWebAssembly from. GitHub..
Instructions for downloading and using Pyodide are available at: pyodide.org..
For instructions on how to download and use TeaVM GitHub..
Copyright © 2021 IDG Communications, Inc.