{"id":1317,"date":"2015-06-17T09:02:56","date_gmt":"2015-06-17T16:02:56","guid":{"rendered":"http:\/\/blog.mozilla.org\/luke\/?p=1317"},"modified":"2015-06-19T07:00:43","modified_gmt":"2015-06-19T14:00:43","slug":"webassembly","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/luke\/2015\/06\/17\/webassembly\/","title":{"rendered":"WebAssembly"},"content":{"rendered":"<p>I&#8217;m happy to report that we at Mozilla have started working with <a href=\"https:\/\/twitter.com\/jfbastien\/status\/611201861245399041\">Chromium<\/a>, <a href=\"http:\/\/blogs.msdn.com\/b\/mikeholman\/archive\/2015\/06\/17\/working-on-the-future-of-compile-to-web-applications.aspx\">Edge<\/a> and <a href=\"https:\/\/bugs.webkit.org\/show_bug.cgi?id=146064\">WebKit<\/a> engineers on creating a new standard, <b>WebAssembly<\/b>, that defines a portable, size- and load-time-efficient format and execution model specifically designed to serve as a compilation target for the Web. As reflected in the <a href=\"https:\/\/github.com\/WebAssembly\/design\/blob\/master\/HighLevelGoals.md\">high-level goals<\/a>, a central requirement for WebAssembly is that it integrate well with the rest of the Web platform and that the <a href=\"https:\/\/github.com\/WebAssembly\/design\/blob\/master\/MVP.md\">initial version<\/a> run efficiently on current browsers using a client-side <a href=\"https:\/\/remysharp.com\/2010\/10\/08\/what-is-a-polyfill\/\">polyfill<\/a>.  As <a href=\"https:\/\/github.com\/WebAssembly\/design\/blob\/master\/FAQ.md#can-the-polyfill-really-be-efficient\">demonstrated<\/a>, the polyfill can leverage asm.js to get great performance.  For existing Emscripten\/asm.js users, targeting WebAssembly will be as easy as <a href=\"https:\/\/github.com\/WebAssembly\/design\/blob\/master\/FAQ.md#whats-the-story-for-emscripten-users\">flipping a flag<\/a>.  Thus, it is natural to view WebAssembly as the <em>next evolutionary step of asm.js<\/em> (a step many have requested and anticipated).<\/p>\n<p>We&#8217;re pretty early into the overall process&mdash;there is no draft spec or even final formal standards body chosen, just a <a href=\"https:\/\/www.w3.org\/community\/webassembly\/\">W3C Community Group<\/a>, some initial prototyping and early cross-browser consensus on the <a href=\"http:\/\/github.com\/webassembly\/design\/\">high-level design documents<\/a>.  Going forward, there will be a lot more iteration and experimentation under the <a href=\"http:\/\/github.com\/webassembly\">WebAssembly<\/a> GitHub organization. For questions, check out the still-emerging <a href=\"https:\/\/github.com\/WebAssembly\/design\/blob\/master\/FAQ.md\">FAQ<\/a>.  Brendan Eich also has a vibrant <a href=\"https:\/\/brendaneich.com\/2015\/06\/from-asm-js-to-webassembly\">blog post<\/a> with more context, history and JS perspective.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m happy to report that we at Mozilla have started working with Chromium, Edge and WebKit engineers on creating a new standard, WebAssembly, that defines a portable, size- and load-time-efficient format and execution model specifically designed to serve as a &hellip; <a href=\"https:\/\/blog.mozilla.org\/luke\/2015\/06\/17\/webassembly\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":257,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/luke\/wp-json\/wp\/v2\/posts\/1317"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/luke\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/luke\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/luke\/wp-json\/wp\/v2\/users\/257"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/luke\/wp-json\/wp\/v2\/comments?post=1317"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/luke\/wp-json\/wp\/v2\/posts\/1317\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/luke\/wp-json\/wp\/v2\/media?parent=1317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/luke\/wp-json\/wp\/v2\/categories?post=1317"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/luke\/wp-json\/wp\/v2\/tags?post=1317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}