Today’s web applications aren’t as fast and responsive as native desktop applications, but what if that’s possible? That’s a promise. WebAssembly..
WebAssembly is a compact binary low-level assembly-like language that runs in a web browser with near-native performance. At the same time, WebAssembly provides portable compilation 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 have made big bets on WebAssembly.
Binaryen’s internal IR (intermediate representation) uses a compact data structure and utilizes all CPU cores for parallel code generation and optimization. And because IR is a subset of WebAssembly, it’s easy to compile into WebAssembly. WebAssembly-specific optimizations improve both code size and speed, and Binaryen itself serves as the backend for the compiler.
You can download Binaryen from. GitHub..
Instructions for getting started with Blazor can be found 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. The goal behind Forest is to provide a language that makes it easy to create complex, interactive, and functional web apps, but without the traditional overhead of that approach.
Currently described as “pre-alpha, experimental, conceptual research software,” Forest features static typing, pattern matching, immutable data structures, multiple syntaxes, and automatic code formats. The first syntax under development was inspired by Elm and Haskell.
Forest language design principles include ease of collaboration, as painless testing as possible, and agreements on structure and semantics, but disagreements on syntax. Johnstone strives to create Forests fast enough to build complex games so that regular web apps are “super fast”.
You can download the forest from. GitHub..
The grain language brings the functionality of academic and functional languages to the 21st century, the project website states.Compile to WebAssembly via Vinarien Grain, the infrastructure of the toolchain and compiler, can run in browsers, servers, and potentially anywhere. There are no runtime type errors and no type annotations are needed. The Grain toolchain includes a CLI, compiler, runtime, and standard library and ships 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 can be found at: Grain-lang.org..
I-Net Software’s JWebAssembly is a Java bytecode to WebAssembly compiler that takes Java class files as input and produces WebAssembly binary (.wasm files) or textual (.wat files) as output. The target 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 the JWebAssembly 1.0 release has been implemented, but there are still tests left. The version 1.0 roadmap requires features such as Java bytecode parsers, testing 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 can be found at: pyodide.org..
For instructions on how to download and use TeaVM GitHub..
Copyright © 2021 IDG Communications, Inc.
10 popular language projects using WebAssembly
Source link 10 popular language projects using WebAssembly