TechCast #94 – Luke Wagner on WebAssembly

Tags: , ,

Luke Wagner is a research engineer at Mozilla, the makers of Firefox and the shepherds of the JavaScript language specification, known as ECMAScript and managed by the famous TC-39 subcommittee. Luke and his group are working on building a specification for and implementation of a binary runtime for the web. Known as WebAssembly, this runtime would execute binary code that could be written in any number of source languages and operate at fast speeds. Mozilla and the WebAssembly W3C Community Group are working on finalizing the initial specification now. On today’s show, Ken speaks to Luke about his role in this effort.

Luke will be a speaker at Emerging Technologies for the Enterprise. His talk is called WebAssembly: A New Compilation Target for the Web. Learn more about this developer-friendly, Chariot-sponsored conference here.

We Talk to Luke About:

  • His journey through Mozilla. For the last 6 years, Luke has worn many hats at Mozilla, beginning with writing back-end optimizations for JavaScript. After that, he hopped onto the C++ to Javascript project, then to asm.js, then became a research engineer. Now, he works on WebAssembly, and is currently is the chair of the WebAssembly community.
  • The origins of WebAssembly. The author of ECMAScript, Alon Zakai, noticed that people were compiling all sorts of languages to JavaScript. So he thought, “Why not C++? Well, I’ll do it.” Though the idea was initially counter-intuitive to the Mozilla team, it’s developed what is now WebAssembly: a safe, portable, and efficient binary compiler – or, as Luke refers to it on his blog, as “a CPU for the web.”
  • The origins of asm.js – a fully optimized, low-level subset of JavaScript, and its progress on each of the separate JavaScript engines.
  • How huge web applications benefit from asm.js. It allows you to compile from a C++ library, and wrap it with nice, idiomatic JS interface. So from the outside, you’re using a JavaScript library, but when you call into it, you’re calling into asm.js compiled code.
  • The popular libraries created using WebAssembly, like Ammo.js, a full rigid-body physics simulator, and the crypto library behind Mega.
  • What to expect in his talk. Luke will be covering snippets of how WebAssembly works, how both C++ and framework developers can use it, and its future directions, like potential garbage collection support.

Further Reading:

Upcoming Events