
Learn WebAssembly
Build web applications with native performance using Wasm and C/C++
Mike Rourke(Author)
Packt Publishing
Published on 25. September 2018
Book
Paperback/Softback
328 pages
978-1-78899-737-9 (ISBN)
Description
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 Features
Generate 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 learn
Learn 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 WebAssembly
Extend WebAssembly's feature set using Emscripten by porting a game written in C++
Explore upcoming features of WebAssembly, Node.js integration, and alternative compilation methods
Who 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.
Key Features
Generate 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 learn
Learn 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 WebAssembly
Extend WebAssembly's feature set using Emscripten by porting a game written in C++
Explore upcoming features of WebAssembly, Node.js integration, and alternative compilation methods
Who 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.
More details
Language
English
Place of publication
Birmingham
United Kingdom
Target group
Professional and scholarly
US School Grade: College Graduate Student
Dimensions
Height: 235 mm
Width: 191 mm
Thickness: 18 mm
Weight
615 gr
ISBN-13
978-1-78899-737-9 (9781788997379)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
Additional editions

E-Book
09/2024
Packt Publishing
€34.99
Available for download
Person
Mike Rourke is a software engineer based in Chicago who works primarily with web technologies and the Node.js ecosystem. He has been writing code for over 10 years. Mike started out writing VB and switched to JavaScript about 2 years ago. He loves all aspects of programming and spends most of his free time learning new technologies and improving his skills.
Content
Table of Contents
What is WebAssembly?
Elements ofWebAssembly
Development Workflow, Tooling, and Configuration
Installing the Required Dependencies
Creating and Loading aWebAssembly Module
Interacting with JavaScript and Debugging
Creating an Application from Scratch
Porting a Game with Emscripten
Integrating with Node.js
Advanced Tools and Upcoming Features
What is WebAssembly?
Elements ofWebAssembly
Development Workflow, Tooling, and Configuration
Installing the Required Dependencies
Creating and Loading aWebAssembly Module
Interacting with JavaScript and Debugging
Creating an Application from Scratch
Porting a Game with Emscripten
Integrating with Node.js
Advanced Tools and Upcoming Features