No reference to Firefox intended.

Here at Leaning Technologies, we use WebAssembly daily to create unique and seemingly impossible technologies, like CheerpX (a WebAssembly virtual machine designed to safely run arbitrary x86 libraries and applications in browser) and CheerpJ (a solution to compile and run Java applications in the browser).

CheerpX, in particular, is certainly the most complex JIT engine written in WebAssembly, and quite possibly the single most advanced WebAssembly project running in the browser.

In order to efficiently run arbitrary x86 code in WebAssembly, we have overcome all sorts of limitations, caused either by the current state of the Wasm standard, or by…


Python3 running client side using CheerpX. File access and blocking primitives (i.e. sleep) are demonstrated.

WebAssembly is one of the hottest topics in software development right now, particularly in the web applications ecosystem.

While its internals are still mysterious to many, here at Leaning Technologies we have been working with it daily for the last several years. As a matter of fact, we have been involved in compile-to-JavaScript since 2012, way before WebAssembly was announced, let alone implemented in major browsers.

Our company makes several tools that target WebAssembly on the browser: Cheerp (C++ to JavaScript/WebAssembly compiler, an alternative to Emscripten), CheerpJ (Java to JavaScript/WebAssembly with full runtime) and CheerpX (virtualization technology to run X86…


October 19 Update: CheerpX for Flash is now generally available. You can read the announcement here.

Note: We have recently announced CheerpX for Flash, a solution to extend the life of Flash applications post-2020. Find out more in this post

Extending the life of Flex, AS3 and AS2 Flash content with WebAssembly virtualization

The clouds are moving, is Flash Player installed though?

Back in August 2019, we published a blog post announcing CheerpX: a breakthrough technology that makes it possible to securely run unmodified binary code in the browser. This technology is based on a sophisticated JIT engine that generates WebAssembly code on the fly, and we plan to…


Or how we plan to run any Flash content in WebAssembly without re-implementing Flash

Note: We have recently announced CheerpX for Flash, a solution to extend the life of Flash applications post-2020. Find out more in this post

For quite a long time, and until recently, Adobe Flash has been the tool of choice to create interactive web applications, especially video games. Since Flash is a proprietary technology, people have always been wondering how this content was going to be preserved when, in due time, that technology was going to become obsolete. That time seems now to be around 2020.

The popularity of Flash and the doubts over its legacy were significant enough that…


Here at Leaning Technologies we specialise in compilers: tools that are useful for software developers and enterprises, but rarely end up in the hands of end-users. Interestingly though, we happen to have an exception to this rule: our CheerpJ Applet Runner.

CheerpJ Applet Runner is a (free) Chrome extension which makes it possible to run legacy Java Applets on modern browsers, without requiring plug-ins or a local installation of Java.This is achieved by on-the-fly converting and running the Applets all within the browser, and not via some ugly remote execution / terminalisation trick.

We released this extension around 2 years…

Alessandro Pignotti

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store