- Hands-On Game Development with WebAssembly
- Rick Battagline
- 335字
- 2021-06-24 13:40:59
Introduction to WebAssembly and Emscripten
Welcome to the exciting new world of WebAssembly! These are early days for WebAssembly, but the technology is currently taking off like a rocket, and by reading this book, you are in a position to get in on the ground floor. If you are interested in game development on the web, or you are interested in learning as much about this new technology as you can to position yourself for when it does reach maturity, you are in the right place. Even though WebAssembly is in its infancy, all major browser vendors have adopted it. These are early days and use cases are limited, but lucky for us, game development is one of them. So, if you want to be early to the party for the next generation of application development on the web, read on, adventurer!
In this chapter, I will introduce you to WebAssembly, Emscripten, and some of the underlying technologies around WebAssembly. I will teach you the basics of the Emscripten toolchain, and how you can use Emscripten to compile C++ code into WebAssembly. We will discuss what LLVM is and how it fits into the Emscripten toolchain. We will talk about WebAssembly's Minimum Viable Product (MVP), the best use cases for WebAssembly in its current MVP form, and what will soon be coming to WebAssembly. I will introduce WebAssembly text (.wat), how we can use it to understand the design of WebAssembly bytecode, and how it differs from other machine bytecodes. We will also briefly discuss asm.js, and its historical significance in the design of WebAssembly. Finally, I will show you how to install and run Emscripten on Windows and Linux.
In this chapter, we will cover the following topics:
- What is WebAssembly?
- Why do we need WebAssembly?
- Why is WebAssembly faster than JavaScript?
- Will WebAssembly replace JavaScript?
- What is asm.js?
- A brief introduction to LLVM
- A brief introduction to WebAssembly text
- What is Emscripten and how do we use it?
- Linux KVM虛擬化架構(gòu)實(shí)戰(zhàn)指南
- 嵌入式技術(shù)基礎(chǔ)與實(shí)踐(第5版)
- 從零開始學(xué)51單片機(jī)C語言
- AMD FPGA設(shè)計(jì)優(yōu)化寶典:面向Vivado/SystemVerilog
- The Deep Learning with Keras Workshop
- 微服務(wù)分布式架構(gòu)基礎(chǔ)與實(shí)戰(zhàn):基于Spring Boot + Spring Cloud
- 基于Apache Kylin構(gòu)建大數(shù)據(jù)分析平臺(tái)
- Practical Machine Learning with R
- 面向?qū)ο蠓治雠c設(shè)計(jì)(第3版)(修訂版)
- 筆記本電腦應(yīng)用技巧
- VMware Workstation:No Experience Necessary
- RISC-V處理器與片上系統(tǒng)設(shè)計(jì):基于FPGA與云平臺(tái)的實(shí)驗(yàn)教程
- Spring Cloud微服務(wù)和分布式系統(tǒng)實(shí)踐
- 微控制器的應(yīng)用
- 主板維修實(shí)踐技術(shù)