Python could soon rival JavaScript for web applications

(Image credit: Shutterstock / Elle Aon)

There’s a new project that’ll reportedly enable the Python programming language to run within web browsers with the help of WebAssembly.

The CPython on WASM project, which will build the default and most popular implementation of the Python language written in C is developed by Berkeley-based software developer, Ethan Smith.

According to The Register, the project was created with the help of core Python developer Christian Heimes, and could make Python a viable alternative to JavaScript, at least for some web applications.

Python on the web

"The new project which Christian Heimes and I are working on has a goal of making the web a supported platform for CPython, just like Windows or macOS," Smith told The Register.

WebAssembly has taken the world by storm thanks to its promise of bringing the performance of native applications to the web, to the level that isn’t possible with JavaScript.

However, The Register notes that at this point, the goal of the project to bring Python to the browser through WebAssembly’s  Emscripten compiler, is more about enabling the use case, rather than performance.

The project reportedly comes in the wake of another project, called Pyodide, which too enables Python code to run in the browser.

"My hope is that this will enable a wider ecosystem of Python developers targeting the web, and allow for easier integration with existing Python tools and processes, many of which Pyodide has had to reinvent like micropip to replace the standard pip package installer,” explained Smith. 

Smith hopes that his project can help facilitate web-based cross-platform app development, but is quick to add that CPython on WASM is still in the early stages of development.

Mayank Sharma

With almost two decades of writing and reporting on Linux, Mayank Sharma would like everyone to think he’s TechRadar Pro’s expert on the topic. Of course, he’s just as interested in other computing topics, particularly cybersecurity, cloud, containers, and coding.