About this event

HTML, CSS, and JavaScript together form the foundations of the web ecosystem as we know it, but in December 2019, WebAssembly (WASM) became the fourth standardized language to be supported by every web browser.

WASM is fast and portable, and it was designed as a compilation target, so other languages can be compiled to it. What this means for us as developers is that we can write code in a language that was never meant to run inside the browser (C++ for example), compile it to WASM using existing tools, and deploy that WASM module to the web, achieving near-native execution speed. This has already been done with projects such as GoogleEarth and Unity and in this interactive workshop you will learn how to do the same using a compiler toolchain called Emscripten.

After hearing about the theoretical background of WASM and getting an overview of its use cases, current support, and planned future advancements, you will be given examples of C projects (beginning with a basic "Hello, World" program and progressing to an app with a graphical user interface and event loops) and together, we will install Emscripten and then modify and compile these projects to WASM.
Hopefully, this will inspire you to bring some of your own C/C++ projects to the web later on and serve as a solid tutorial on how to do so.

No prior C programming knowledge is necessary.

Since Emscripten has certain dependencies, it would be best if you made sure to have them installed before the workshop. To do so you can follow the instructions given here: https://emscripten.org/docs/building_from_source/toolchain_what_is_needed.html
(If not, you can do this at the time of the workshop as well, since it shouldn't take too much time. Also, feel free to ask for help during the workshop if something doesn't work.)