WebAssembly Based In-Browser Offline Code Execution

TR Number

Date

2022-12-07

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Currently, being able to learn programming online on platforms like Leetcode is limited by having access to a stable internet connection. The reason being that since 1996, no language has been added to the list of languages for the web which allows code to run in the browser. JavaScript was the only full-fledged programming language that browsers understood until the introduction of WebAssembly. Being able to code in any language online without a stable internet connection can be solved if we could compile the code for any language like Golang/Python directly in the browser. This is a problem because web browsers have limited access to a user’s system primarily for security reasons. Even with the assumption that a user has a compiler/interpreter for the required programming language installed in their system, web browsers can’t really access the system binaries to perform this task. With CodeWasm, we are taking a shot to solve the above problem using WebAssembly. WebAssembly comes handy because it enables us to compile the compilers/runtime of Go/Python all the way down to low level assembly-like code that the browser can understand. Once we have the compiler/interpreter for the required language available as a WebAssembly (Wasm) build, we can use this to compile/execute the program in that programming language on the fly right within our browsers.

Description

Keywords

Citation