0.1.2 • Published 5 years ago

@eriksandberg/tddd27_2019_wasm v0.1.2

Weekly downloads
3
License
WTFPL
Repository
-
Last release
5 years ago

TDDD27 - 2019 - WebAssembly

1. Specification

1.1 Functional specification

We want to look into WebAssembly (WASM) and it's usages. For this purpose we intend to build an application that perform demanding calculations on client-side, potentially comparing the performance between WASM and regular web code. Our current idea is bruteforcing encrypted data for the user. Other ideas considered are calculating (somewhat) large primes, drawing "mathematical art" (this could illustrate performance differences nicely if done live) or simply running a game (unlikely since that would shift the focus from web development). Obviously the focus will be on the frontend, however it would also be interesting to compare the performance of server and client side.

1.2 Technical specification

Our frontend will consist of the React framework integrated with WebAssembly, compiled from either C++, Rust or both for comparision purposes. Since our project vision does not place much focus on the backend we are interested in a easy to use micro framework written in the language we choose as our main WASM language. For C++ the main candidate is currently Pistache and for Rust we're looking at Actix-web since it's the most used and best documented by a wide margin. As for testing and deployment (etc) software we are still uncertain about our needs and we'll look at it further when development have started properly. Since our project is quite experimental we're mainly interested in software focusing on cutting development time and making our lives easier.

1.3 Toolchain

Our JavaScript toolchain currently consist of the package manager npm, the bundler webpack and the compiler Babel.

2. Build and run the app

You need to have npm installed. Run 'npm ci' to install the packages from the lockfile (package-lock.json). Then run 'npx webpack' to build the project. Run 'node_modules/.bin/webpack-dev-server' to run the project.

3. Project Members

Erik Sandberg - erisa418 Daniel Wassing - danwa223

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago