Hands-On WebAssembly for C++ Programmers

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

3.65 (62 reviews)
Udemy
platform
English
language
Web Development
category
419
students
3 hours
content
May 2020
last update
$44.99
regular price

What you will learn

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

Description

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.

About the Author

Patrick Viafore is a software engineer with 12 years' experience writing C++ and web applications. From meteorology software to telecommunication firmware and operating systems in the cloud, he's been involved in many facets of the software world.

Patrick has seen new technologies grow and blossom, and knows how hard it can be to stay on the cutting edge, especially given the lightning-quick pace of web development.

He focuses on distilling the concepts that you care about, and reinforcing them with real code. In this course, he will be pulling code excerpts from real, open-source libraries and showing you how to transform them into WebAssembly.

Patrick enjoys teaching and has given conference talks, hosted workshops, and mentored many developers.

Content

Getting Started with WebAssembly

Course Overview
Understanding WebAssembly and C++
Seeing WebAssembly in Action
Test your knowledge

Running Our First C++ Application in the Browser

Setting Up Your Toolchain
Running Your First C++ Application on the Web
Using the C++ Compiler to Generate WebAssembly
Calling C++ Functions with JavaScript
Passing Complex Data with Embind
Test your knowledge

Getting Under the Hood of WebAssembly

Interacting with the Browser
Exploring the Syntax of WebAssembly
Understanding the Memory Model
Catching WebAssembly Traps
Integrating WebAssembly Modules
Test your knowledge

Using WebAssembly System Libraries

Interacting with System Libraries
Handling Input and Output
Telling Time Through WebAssembly
Performing in Parallel by Threading
Communicating with Other Programs over the Network
Test your knowledge

Working with Computer Hardware in the Web

Converting the Game to SDL
Drawing Our Game in WebAssembly
Handling Keyboard and Mouse Inputs
Experimenting with WebGL
Wrapping Applications with Windowing
Test your knowledge

Making Music in the Browser by Integrating Audio

Understanding Audio Processing in WebAssembly
Playing Simple Sounds in SDL
Integrating Sounds into Our Applications
Providing Music in Our Applications
Test your knowledge

Debugging Techniques in WebAssembly

Exploring Web Debugging
Debugging WebAssembly
Protecting Your Code with Debug Capabilities
Profiling WebAssembly
Tracing Execution in WebAssembly
Course Review
Test your knowledge

Screenshots

Hands-On WebAssembly for C++ Programmers - Screenshot_01Hands-On WebAssembly for C++ Programmers - Screenshot_02Hands-On WebAssembly for C++ Programmers - Screenshot_03Hands-On WebAssembly for C++ Programmers - Screenshot_04

Reviews

Francesco
March 3, 2023
Ottimo corso per chi vuole avvicinarsi alla comprensione inizale dei meccanismi di implemantazione del WebAssembly!
Pedro
September 4, 2022
Boiler plate on top of boiler plate. You don't learn anything from the course. It's just copy and paste.
Wun-Cheol
August 27, 2022
Old version used which doesn't work any more... Maybe I can search solutions for the latest version... Then, Why Am I taking this course?
Gai
April 11, 2021
very confident at the initial few tutorial videos, the way the instructor delivers teaching is very convincing. Recommended.
Antoine
March 31, 2021
Cela correspondait à mes attentes. Mais je n'avais pas un environnement (OS, outils,...) bien formaté pour mener à bien toutes les étapes de cette formation.
Eduardo
August 19, 2020
Teacher, Thanks for your concern about having tools for debugging and profiling, that was a very good approach. I appreciate it.
Sy42world
June 29, 2020
This course is very informative, and has well structured sections to understand Webassembly. And, it was good for me because I could execute the sample easily. ( Makefile and DockerFile included ) Finally, I could learn about what is a good descriptions because the sentences at the movies were simplified well.

Charts

Price

Hands-On WebAssembly for C++ Programmers - Price chart

Rating

Hands-On WebAssembly for C++ Programmers - Ratings chart

Enrollment distribution

Hands-On WebAssembly for C++ Programmers - Distribution chart

Related Topics

3086340
udemy ID
5/4/2020
course created date
5/22/2020
course indexed date
Bot
course submited by