Portable Native Code for JavaScript Runtimes with WebAssembly, Rust and wasm-pack

Web development has greatly revolved compared to the original architecture and technological stack. Nowadays, it is not only possible to develop with JavaScript or its superset - TypeScript - but also to write native code that compiles to a platform-agnostic, portable format: WebAssembly (Wasm). Modern runtimes such as Node.JS or most web browsers support running Wasm, which bridges the gap between native and interpreted, but on the other hand allows a bi-directional reuse of code compiled to Wasm in virtually any runtime thanks to Wasm support either natively or via libraries in many runtimes and environments ranging from Python through C#, C++, Java, PHP to Node.js. This paper focuses on the new range of possibilities Wasm opens: re-use of code in multi-technology projects without the need to port common parts to the different languages used, in some cases - enhancing performance for computation-extensive parts thanks to compiler optimizations, and possibility to bring libraries from other technology stacks to any environment supporting Wasm (reducing technology lock-in).

Authors

Institutions

Publication Details

Published
2024-10-24
DOI
https://doi.org/10.1109/iceta63795.2024.10850794
Primary Topic
Distributed and Parallel Computing Systems
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Portable Native Code for JavaScript Runtimes with WebAssembly, Rust and wasm-pack

Marek Długosz, Paweł Skruch, Marcin Szelest, Artur Morys-Magiera
Distributed and Parallel Computing Systems
article

Portable Native Code for JavaScript Runtimes with WebAssembly, Rust and wasm-pack

Marek Długosz, Paweł Skruch, Marcin Szelest, Artur Morys-Magiera
article en

Abstract

Web development has greatly revolved compared to the original architecture and technological stack. Nowadays, it is not only possible to develop with JavaScript or its superset - TypeScript - but also to write native code that compiles to a platform-agnostic, portable format: WebAssembly (Wasm). Modern runtimes such as Node.JS or most web browsers support running Wasm, which bridges the gap between native and interpreted, but on the other hand allows a bi-directional reuse of code compiled to Wasm in virtually any runtime thanks to Wasm support either natively or via libraries in many runtimes and environments ranging from Python through C#, C++, Java, PHP to Node.js. This paper focuses on the new range of possibilities Wasm opens: re-use of code in multi-technology projects without the need to port common parts to the different languages used, in some cases - enhancing performance for computation-extensive parts thanks to compiler optimizations, and possibility to bring libraries from other technology stacks to any environment supporting Wasm (reducing technology lock-in).

AGH University of Krakow (PL)
Openalex Percentile: Top 69%
Distributed and Parallel Computing Systems
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.