Jump to ratings and reviews
Rate this book

Learn WebAssembly: Build web applications with native performance using Wasm and C/C++

Rate this book
In the first definitive guide on WebAssembly, you’ll learn how you can wield this new technology to break through the current barriers of web development and build an entirely new class of performant applications .

Key FeaturesGenerate WebAssembly modules from C and C++ using Emscripten and interact with these modules in the browser Learn how to use WebAssembly outside of the browser and load modules using Node.js Build a high-performance application using C and WebAssembly and port an existing C++ game to WebAssembly using Emscripten Book DescriptionWebAssembly is a brand-new technology that represents a paradigm shift in web development. This book teaches programmers to leverage this technology to write high-performance applications that run in the browser. This book introduces you to powerful WebAssembly concepts to help you write lean and powerful web applications with native performance. You start with the evolution of web programming, the state of things today, and what can be done with the advent and release of WebAssembly. We take a look at the journey from JavaScript to asm.js to WebAssembly. We then move on to analyze the anatomy of a WebAssembly module and the relationship between binary and text formats, along with the corresponding JavaScript API. Further on, you'll implement all the techniques you've learned to build a high-performance application using C and WebAssembly, and then port an existing game written in C++ to WebAssembly using Emscripten. By the end of this book, you will be well-equipped to create high-performance applications and games for the web using WebAssembly.

What you will learnLearn how WebAssembly came to be and its associated elements (text format, module, and JavaScript API)Create, load, and debug a WebAssembly module (editor and compiler/toolchain)Build a high-performance application using C and WebAssemblyExtend WebAssembly’s feature set using Emscripten by porting a game written in C++Explore upcoming features of WebAssembly, Node.js integration, and alternative compilation methodsWho this book is forIf you are a web developer or C/C++ programmer keen to leverage the powerful technology of WebAssembly to build high-performance web applications, then this book is for you.

Table of ContentsWhat is WebAssembly?Elements ofWebAssembly – Wat, Wasm, and the JavaScript APIDevelopment Workflow, Tooling, and ConfigurationInstalling the Required DependenciesCreating and Loading aWebAssembly ModuleInteracting with JavaScript and DebuggingCreating an Application from ScratchPorting a Game with EmscriptenIntegrating with Node.jsAdvanced Tools and Upcoming Features

330 pages, Kindle Edition

Published September 25, 2018

7 people are currently reading
23 people want to read

About the author

Mike Rourke

4 books

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
1 (9%)
4 stars
8 (72%)
3 stars
2 (18%)
2 stars
0 (0%)
1 star
0 (0%)
Displaying 1 - 3 of 3 reviews
Profile Image for Mireille Raad.
22 reviews15 followers
Read
March 5, 2020
Good books. I love how he dived into the specification early on and hard core concepts.

Then in later chapters, there are code example and walk-through for C application, then a web application, games and even just porting things with Emscripten.

The code example make the concepts explained "click". The instructions are very detailed. but as usual, stuff gets outdated.
Profile Image for Sean McBride.
21 reviews2 followers
July 2, 2021
A bit dated of a reference given the many changes in WebAssembly tooling over the past few years. Heavy emphasis on Emscripten-specific helper glue code.
Profile Image for Tano.
3 reviews
January 22, 2022
Very good introduction to the topic, with interesting examples, well explained.
Displaying 1 - 3 of 3 reviews

Can't find what you're looking for?

Get help and learn more about the design.