Hands-On WebAssembly for C++ Programmers: Build high-performance and fast applications in C++

Hands-On WebAssembly for C++ Programmers: Build high-performance and fast applications in C++
Hands-On WebAssembly for C++ Programmers: Build high-performance and fast applications in C++
English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 3h 14m | 1.34 GB

Take advantage of the performance and speed of C++ directly in web browsers

Due to recent trends, companies are looking to design their applications live on the web. However, it’s easy to grow frustrated with JavaScript, which offers limited scope for fine- tuning performance.

If you want get ahead of your competitors by working in a language you’re comfortable with, one that is designed for speed? WebAssembly is your answer. Starting with first principles; you’ll learn is why WebAssembly is so powerful and why C++ is a natural fit. The you’ll look at compiling a program for WebAssembly using C++.

This course looking provides code examples, rather than slides so that you can really delve into the depths of WebAssembly. Allowing you to go beyond simple toy examples and learn about how real programs compile to WebAssembly.

You’ll find out that not everything works out right the first time, and it’s just as important to learn how to debug and profile your programs.

By the end of this course, you will have gained all the skills you need to get a speed advantage over pure JavaScript applications, leaving your competitors behind.


  • Gain a robust understanding of WebAssembly and its place in the modern web ecosystem so that you can leverage it correctly
  • Transform your C++ applications into WebAssembly so that you can deploy them to the web, but with the performance you’re used to
  • Explore the in’s and out’s of WebAssembly by working through code so you understand core concepts
  • Interact with system libraries, such as graphics and audio frameworks, to seamlessly convert heavy-duty C++ applications into WebAssembly
  • Debug and profile C++/WebAssembly code, so that you can easily detect and remove bottlenecks
Table of Contents

Getting Started with WebAssembly
1 Course Overview
2 Understanding WebAssembly and C++
3 Seeing WebAssembly in Action

Running Our First C++ Application in the Browser
4 Setting Up Your Toolchain
5 Running Your First C++ Application on the Web
6 Using the C++ Compiler to Generate WebAssembly
7 Calling C++ Functions with JavaScript
8 Passing Complex Data with Embind

Getting Under the Hood of WebAssembly
9 Interacting with the Browser
10 Exploring the Syntax of WebAssembly
11 Understanding the Memory Model
12 Catching WebAssembly Traps
13 Integrating WebAssembly Modules

Using WebAssembly System Libraries
14 Interacting with System Libraries
15 Handling Input and Output
16 Telling Time Through WebAssembly
17 Performing in Parallel by Threading
18 Communicating with Other Programs over the Network

Working with Computer Hardware in the Web
19 Converting the Game to SDL
20 Drawing Our Game in WebAssembly
21 Handling Keyboard and Mouse Inputs
22 Experimenting with WebGL
23 Wrapping Applications with Windowing

Making Music in the Browser by Integrating Audio
24 Understanding Audio Processing in WebAssembly
25 Playing Simple Sounds in SDL
26 Integrating Sounds into Our Applications
27 Providing Music in Our Applications

Debugging Techniques in WebAssembly
28 Exploring Web Debugging
29 Debugging WebAssembly
30 Protecting Your Code with Debug Capabilities
31 Profiling WebAssembly
32 Tracing Execution in WebAssembly
33 Course Review