WebAssembly Beginner to Advanced

Boost your web applications and run native code on the web with WebAssembly, Emscripten, Qt and more

4.20 (80 reviews)
Udemy
platform
English
language
Web Development
category
instructor
790
students
3 hours
content
Apr 2020
last update
$34.99
regular price

What you will learn

Learn what is WebAssembly and why it is useful

How you can use it to speed up your web applications

Compile C/C++ code to create Web Assembly (wasm) modules

Use the powerful Emscripten compiler for local compilations and more

Learn the low-level parts: memory and tables

Create advanced applications using the Emscripten glue code

Understand and use the WebAssembly Text Format (Wat)

Call C/C++ functions from JavaScript

Run JavaScript functions and expressions in C/C++

Debug the created WebAssembly modules

Description

In this course you will learn what WebAssembly is, how can you use it and benefit from its capabilities.

This is a brand new technology which lets you to run your C/C++, Rust, AssemblyScript code (and many more to come) on the web by using assembly-like binary files.

You will learn:

  1. To compile your C/C++ code to the WebAssembly binary format (wasm) using online compilers, and after this, the Emscripten toolkit locally.

  2. The low-level building blocks of a WebAssembly module

  3. The WebAssembly Text Format (wat) and use it to solve complex problems

  4. How to use the Emscripten Module object and the generated glue code

  5. Call C/C++ functions from JavaScript and vice-versa

  6. Debug and launch the Emscripten web server

  7. Compile a Qt project to WebAssembly

If you want to be a part of the future of the web development, this is the best place for you to start. You will get to an advanced level of using the web assembly technology in no time.


It is recommended to have a basic understanding of Javascript and C/C++, but this course is beginner friendly, so it shouldn't be hard to understand for anybody. We will focus on both theory and practice to make sure you both understand the concepts and can apply them.

Content

Introduction

Why you should watch this course
How to watch this course

WebAssembly basics

Introduction
Goals of WebAssembly
How it works
Asm.js
Asm.js syntax and compilation
MVP
Use cases
Upcoming features

Create and Load a Module

Create a wasm module
Instantiation
Advanced instantiation and Node js server

Emscripten

The Emscripten compiler
Install Emscripten
Performance Test (C++ vs Wasm vs JavaScript)
Standalone WebAssembly module

Low-level concepts

Memory
Table
Global Variables

WebAssembly Text Format (Wat)

Web Assembly Text Basics
Install and use Wabt
Importing and Calling Functions
Working with Strings
Advanced Tables and call_indirect
Dynamic Linking

Advanced Emscripten

Emscripten Module
Call exported C/C++ functions
Call JavaScript functions in native code
Threads, Reading from File and Command Line Arguments
Debugging WebAssembly
Emrun

Qt projects on the web

Installation
Demo project

Bonus Section, Source code

Bonus Lecture

Screenshots

WebAssembly Beginner to Advanced - Screenshot_01WebAssembly Beginner to Advanced - Screenshot_02WebAssembly Beginner to Advanced - Screenshot_03WebAssembly Beginner to Advanced - Screenshot_04

Reviews

Deepshankar
October 8, 2023
this is very unique course indeed.. must buy for everyone interested in learning web assembly. the explanation is thorough and easy to understand
Nathan
December 24, 2022
Great course. You probably need to have taken an assembly language course to really comprehend it but you might be able to grasp the overall concepts without it.
Vyacheslav
July 15, 2021
Good course, though some of advanced concepts (chapter 6 and 7) could be explained in more detailed way, but overall I've got a lot of useful information.
Anyetei
November 22, 2020
Sound quality was poor and affected audibility negatively. The font-size used in the various editors was awful, causing me eyestrain. Most of the early demos illustrated code error conditions instead of just illustrating code that works (Analogous to a driving instructor teaching you how to drive by demonstrating things that cause accidents). The lectures were not linked together by a common project, so from one lecture to the next, the demos appeared disjointed. There was no real explanation of WebAssembly concepts or how WebAssembly components relate to each other.
Sy42world
June 25, 2020
This course is very useful for me, to understand WebAssembly's basic concepts and so on. It was great for me I could see the sample project using QT.
Edward
April 13, 2020
Code examples I have seen thus far had a much too small font size to be readable. I suggest to explode the code snippets to fill the available screen space to make it more readable. Uses drawl green and purple with a black background and a small font size. I had a lot of difficulty reading this. When it comes to content, why mention Tables if we are not supposed to read or write the values?

Charts

Price

WebAssembly Beginner to Advanced - Price chart

Rating

WebAssembly Beginner to Advanced - Ratings chart

Enrollment distribution

WebAssembly Beginner to Advanced - Distribution chart

Related Topics

2940438
udemy ID
3/31/2020
course created date
4/13/2020
course indexed date
Bot
course submited by