Programming WebAssembly with Rust - Kevin Hoffman

Programming WebAssembly with Rust

Unified Development for Web, Mobile, and Embedded Applications

(Autor)

Buch | Softcover
238 Seiten
2019
Pragmatic Bookshelf (Verlag)
978-1-68050-636-5 (ISBN)
41,50 inkl. MwSt
WebAssembly fulfills the long-awaited promise of web technologies: fast code, type-safe at compile time, execution in the browser, on embedded devices, or anywhere else. Rust delivers the power of C in a language that strictly enforces type safety. Combine both languages and you can write for the web like never before! Learn how to integrate with JavaScript, run code on platforms other than the browser, and take a step into IoT. Discover the easy way to build cross-platform applications without sacrificing power, and change the way you write code for the web.

WebAssembly is more than just a revolutionary new technology. It's reshaping how we build applications for the web and beyond. Where technologies like ActiveX and Flash have failed, you can now write code in whatever language you prefer and compile to WebAssembly for fast, type-safe code that runs in the browser, on mobile devices, embedded devices, and more. Combining WebAssembly's portable, high-performance modules with Rust's safety and power is a perfect development combination.

Learn how WebAssembly's stack machine architecture works, install low-level wasm tools, and discover the dark art of writing raw wast code. Build on that foundation and learn how to compile WebAssembly modules from Rust by implementing the logic for a checkers game. Create wasm modules in Rust to interoperate with JavaScript in many compelling ways. Apply your new skills to the world of non-web hosts, and create everything from an app running on a Raspberry Pi that controls a lighting system, to a fully-functioning online multiplayer game engine where developers upload their own arena-bound WebAssembly combat modules.

Get started with WebAssembly today, and change the way you think about the web.

What You Need: You'll need a Linux, Mac, or Windows workstation with an Internet connection. You'll need an up-to-date web browser that supports WebAssembly. To work with the sample code, you can use your favorite text editor or IDE. The book will guide you through installing the Rust and WebAssembly tools needed for each chapter.

Kevin Hoffman got his start programming at the age of 10 with a Commodore VIC-20, a cassette drive, and a hand-altered floppy disc drive from a Commodore 64. He has worked in dozens of industries from gaming to waste management, from drones to biometric security, and finance. He has written or co-written over 20 technology books and looks forward to someday completing his fantasy trilogy - the Sigilord Chronicles.

Introduction
Building a Foundation
WebAssembly Fundamentals
Introducing WebAssembly
Understanding WebAssembly Architecture
Building a WebAssembly Application
Wrapping Up
Building WebAssembly Checkers
Playing Checkers, the Board Game
Coping with Data Structure Constraints
Implementing Game Rules
Moving Players
Testing Wasm Checkers
Wrapping Up
Interacting with JavaScript
Wading into WebAssembly with Rust
Introducing Rust
Installing Rust
Building Hello WebAssembly in Rust
Creating Rusty Checkers
Coding the Rusty Checkers WebAssembly Interface
Playing Rusty Checkers in JavaScript
Wrapping Up
Integrating WebAssembly with JavaScript
Creating a Better “Hello, World”
Building the Rogue WebAssembly Game
Experimenting Further
Wrapping Up
Advanced JavaScript Integration with Yew
Getting Started with Yew
Building a Live Chat Application
Wrapping Up
Working with Non-Web Hosts
Hosting Modules Outside the Browser
How to Be a Good Host
Interpreting WebAssembly Modules with Rust
Building a Console Host Checkers Player
Wrapping Up
Exploring the Internet of WebAssembly Things
Overview of the Generic Indicator Module
Creating Indicator Modules
Building Rust Applications for ARM Devices
Hosting Indicator Modules on a Raspberry Pi
Hardware Shopping List
Endless Possibilities
Wrapping Up
Building WARoS—-The WebAssembly Robot System
An Homage to Crobots
Designing the WARoS API
Building the WARoS Match Engine
Creating WebAssembly Robots
Robots in the Cloud
Wrapping Up
Conclusion

Erscheinungsdatum
Verlagsort Raleigh
Sprache englisch
Maße 195 x 232 mm
Gewicht 458 g
Einbandart kartoniert
Themenwelt Informatik Software Entwicklung Mobile- / App-Entwicklung
Mathematik / Informatik Informatik Web / Internet
Schlagworte App-Entwicklung • Development • Embedded Applications • Mobile Development • Unified • Webentwicklung
ISBN-10 1-68050-636-6 / 1680506366
ISBN-13 978-1-68050-636-5 / 9781680506365
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich