JWebAssembly - Java to WebAssembly compiler

  •        274

JWebAssembly is a Java to WebAssembly compiler. It uses Java class files as input. That it can compile any language that compile to Java bytecode. As output it generates the binary format (.wasm file) or the text format (.wat file). JWebAssembly requires Java SE 8 or higher. It is tested with Java SE 8 on travis-ci.org.




Related Projects

assemblyscript - A TypeScript to WebAssembly compiler 🚀

  •    WebAssembly

AssemblyScript compiles strictly typed TypeScript (basically JavaScript with types) to WebAssembly using Binaryen. It generates lean and mean WebAssembly modules while being just an npm install away.

wasm - Haskell compiler infastructure for WebAssembly

  •    WebAssembly

A WebAssembly AST, parser, and assembler in Haskell for use in functional compiler backends targeting WebAssembly. Warning, still a big work in progress.

binaryen - Compiler infrastructure and toolchain library for WebAssembly, in C++

  •    WebAssembly

Consult the contributing instructions if you're interested in participating. As a result, you might notice that round-trip conversions (wasm => Binaryen IR => wasm) change code a little in some corner cases.

schism - A self-hosting Scheme to WebAssembly compiler

  •    Scheme

Schism is an experimental self-hosting compiler from a subset of R6RS Scheme to WebAssembly. This is not an officially supported Google product.

lucet - Lucet, the Sandboxing WebAssembly Compiler.

  •    Rust

Lucet is a native WebAssembly compiler and runtime. It is designed to safely execute untrusted WebAssembly programs inside your application. Check out our announcement post on the Fastly blog.

awesome-wasm - 😎 Curated list of awesome things regarding WebAssembly (wasm) ecosystem.


Collection of awesome things regarding WebAssembly (wasm) ecosystem. Please read the contribution guidelines if you want to contribute.

electron-wasm-rust-example - A minimal Electron + WebAssembly (WASM) + 🦀 Rust example.

  •    Javascript

A minimal Electron + WebAssembly (WASM) + Rust example. Use the build.sh or build.ps1 script to build the WebAssembly module.

walt - :zap: Walt is a JavaScript-like syntax for WebAssembly text format :zap:

  •    Javascript

⚡️ Walt is an alternative syntax for WebAssembly text format. It's an experiment for using JavaScript syntax to write to as 'close to the metal' as possible. It's JavaScript with rules. .walt files compile directly to WebAssembly binary format. 🚀 Try it out in the Walt Explorer.

wasm-and-rust - WebAssembly and Rust: A Web Love Story


You can check out about:config (Firefox) or chrome://flags/ (Chrome) and make sure wasm related things are enabled. WebAssembly or WASM is a low-level bytecode format for in-browser client-side scripting, evolved from JavaScript. Its initial aim is to support compilation from C and C++, though other source languages such as Rust are also supported.

wasm-pack - 📦✨ your favorite rust -> wasm workflow tool!

  •    Rust

This tool seeks to be a one-stop shop for building and working with rust- generated WebAssembly that you would like to interop with JavaScript, in the browser or with Node.js. wasm-pack helps you build and publish rust-generated WebAssembly to the npm registry to be used alongside any other javascript package in workflows that you already use, such as webpack or greenkeeper. We generate a wasm-pack.log file if wasm-pack errors on you, and you can customize the log verbosity using the verbosity flag.

webassemblyjs - Toolchain for WebAssembly

  •    Javascript

See WebAssembly.js.org for more information. Some packages rely on Node's Buffer which isn't available in other environments. We recommend you to add https://github.com/feross/buffer in your building process.


  •    Javascript

This project is a proof-of-concept aiming at building C# applications into WebAssembly, by using Mono and compiling/linking everything statically into one .wasm file that can be easily delivered to browsers. The process does not use Emscripten (or Binaryen) but instead uses the experimental WebAssembly backend of LLVM with clang and lld to generate the final .wasm code. The goal is to use as few dependencies as possible. At the moment the only dependencies are LLVM, clang and lld trunk.

wasi-libc - WASI libc implementation for WebAssembly

  •    C

WASI Libc is a libc for WebAssembly programs built on top of WASI system calls. It provides a wide array of POSIX-compatible C APIs, including support for standard I/O, file I/O, filesystem manipulation, memory management, time, string, environment variables, program startup, and many other APIs. WASI Libc is sufficiently stable and usable for many purposes, as most of the POSIX-compatible APIs are stable, though it is continuing to evolve to better align with wasm and WASI.

ilwasm - CIL to WebAssembly compiler

  •    CSharp

Maps a subset of .NET CIL to WebAssembly S-expressions. Implemented as a custom code generator backend for the JSIL CIL -> JS compiler.

webassembly - A minimal toolkit and runtime to produce and run WebAssembly modules.

  •    C

An experimental, minimal toolkit and runtime on top of node to produce and run WebAssembly modules. To run compiled WebAssembly modules, you'll either need a recent version of your browser with WebAssembly enabled or node.js 8 - but you probably already know that. For development, node.js 6 upwards is sufficient.

go-app - A package to build progressive web apps with Go programming language and WebAssembly.

  •    Go

Go-app is a package for building progressive web apps (PWA) with the Go programming language (Golang) and WebAssembly (Wasm). Shaping a UI is done by using a declarative syntax that creates and compose HTML elements only by using the Go programing language.

asterius - A Haskell to WebAssembly compiler

  •    WebAssembly

A Haskell to WebAssembly compiler. Project status: alpha, in active development, some simple examples already work. See the documentation for further instructions.

design - ewasm Design Overview and Specification


This repository contains documents describing the design and high-level overview of eWASM. Expect the contents of this repository to be in flux: everything is still under discussion. WebAssembly (or Wasm as a contraction) is a new, portable, size- and load-time-efficient format. WebAssembly aims to execute at native speed by taking advantage of common hardware capabilities available on a wide range of platforms. WebAssembly is currently being designed as an open standard by a W3C Community Group.

wasmjit - Kernel Mode WebAssembly Runtime for Linux

  •    C

Wasmjit is a small embeddable WebAssembly runtime. Its core is written in C90 and is easily portable to most environments. It also includes a host environment for running in user-space on POSIX systems. This is useful for running WebAssembly modules without having to run an entire browser.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.