Getting started with WebAssembly & Emscripten
This course is suitable for both beginners and experienced developers looking to get started with WebAssembly.
Understand what WebAssembly is and how it speeds up the web
Use native JavaScript APIs to load and run WebAssembly modules
Learn to use Emscripten and compile your own C or C++ code as a WebAssembly module
Use WebAssembly in a real-world project and micro benchmark
An invaluable skill for any developer looking to future-proof their skills
WebAssembly is the most promising new technology for the web, allowing browsers, and other JavaScript environments, to run blazing-fast raw binary modules, compiled directly from C, C++ and many other languages.
Understanding WebAssembly is an invaluable skill for anyone working with JavaScript or compiled languages, allowing you to bridge the gap between native software development and web-based JavaScript.
This course will provide a very practical and concise approach to learning WebAssembly & Emscripten, and will give you a solid base to immediately start creating and implementing fast, optimised WebAssembly modules.
Content and Overview
This course aims to teach a solid foundational understanding of what WebAssembly is, and why it's so powerful.
Section one starts with an overview of WebAssembly and a detailed setup lesson to help you follow along every step of the way.
Section two covers the native JavaScript browser API for loading and running WebAssembly modules. This section also includes importing and exporting functions to and from a WebAssembly module, and shows how to access WebAssembly memory.
The third and most substantial part of the course, covers Emscripten in-depth. Teaching everything from installing Emscripten on either Mac, Windows or Linux, compiling C code from scratch and the general Module runtime cycle.
This Emscripten section also teaches some more advanced features of Emscripten, including calling JavaScript from a WebAssembly module and vice-versa.
The final section of the course is a practical 4-part lesson, teaching how to implement a fully animated HTML5 Canvas project using WebAssembly as the main processor.
Upon completion of this course you will have the practical skills to immediately start creating high performance WebAssembly modules.
This course is to the point and everything is demonstrated in the most simple, yet practical ways.
Requirements:
Must understand JavaScript in the Browser environment
Be capable of basic Command Line (Terminal) usage
Some experience with C or C++ beneficial, but not required.
- Web Developers wanting to learn WebAssembly from scratch
- C, C++ or other compiled language developers looking to expand their software reach by developing for the web
- JavaScript Developers of all levels.
What you'll learn:
- Understand what WebAssembly is and how it will impact Web Development
- Learn to load and run WebAssembly modules, using native JavaScript browser APIs
- Compile C and C++ code using Emscripten
- Advanced Emscripten features such as calling JS from WA and vice-versa
About the Author: Udemy
Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.
Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.
Watch Online 23 lessons
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Introduction Demo | 02:00 | |
| 2 | Prerequisites & Lesson Structure | 06:09 | |
| 3 | Loading a WASM | 06:40 | |
| 4 | Exports: Calling C from JavaScript | 04:48 | |
| 5 | Imports: Calling JavaScript from C | 07:30 | |
| 6 | Memory Access: Reading Strings | 08:21 | |
| 7 | Custom Memory Imports | 06:01 | |
| 8 | What is Emscripten? | 02:36 | |
| 9 | Installing Emscripten Tools | 12:00 | |
| 10 | Compiling your first WASM | 06:57 | |
| 11 | Compilation Options | 06:07 | |
| 12 | Exporting C functions to JavaScript | 09:05 | |
| 13 | Calling JavaScript functions from C | 09:27 | |
| 14 | Preamble Conversion Functions | 05:06 | |
| 15 | Emscripten Module & Memory Buffer | 02:57 | |
| 16 | Debugging | 03:27 | |
| 17 | Runtime Initialisation | 02:55 | |
| 18 | Emrun | 02:14 | |
| 19 | Micro Benchmark: Prime Numbers | 10:28 | |
| 20 | Canvas Project 1: Setup | 09:24 | |
| 21 | Canvas Project 2: Data Structure | 13:11 | |
| 22 | Canvas Project 3: Animation | 10:39 | |
| 23 | Bonus Lecture: Feedback & Stackacademy.tv Courses | 00:51 |
Get instant access to all 22 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionRelated courses
-
Updated 2y agoGetting Started with ASP.NET Core
By: Tim CoreySo you want to build a web application. You open up Visual Studio and then what? You have five great project types to choose from (Razor Pages, MVC, API, Blazor11h 55m -
Updated 2y agoBuild an Image Filters App with Vue, TypeScript and WebAssembly
By: Zero To MasteryWith this project you'll build "Vue Filters", an image filter application built with Vue that allows you to bring the experience of applying Photoshop filters t1h 44m -
Updated 3y agoWebAssembly: A Practical Guide
By: Zero To MasteryLearn WebAssembly to develop high-performance applications with near-native performance.2h 29m5/5