The big news here is coordinated announcements from <i>multiple</i> browsers:<p><a href="https://blogs.windows.com/msedgedev/2016/10/31/webassembly-browser-preview/" rel="nofollow">https://blogs.windows.com/msedgedev/2016/10/31/webassembly-b...</a><p><a href="https://hacks.mozilla.org/2016/10/webassembly-browser-preview" rel="nofollow">https://hacks.mozilla.org/2016/10/webassembly-browser-previe...</a><p><a href="http://v8project.blogspot.com/2016/10/webassembly-browser-preview.html" rel="nofollow">http://v8project.blogspot.com/2016/10/webassembly-browser-pr...</a><p>[edited to make links clickable]
Hello from the Chrome/V8 side of this announcement!<p>We'd like to say that we're incredibly excited to keep moving WebAssembly forward, and that's in large part due to the amazingly collaborative model that all of the vendors have put together through interpersonal relationships and shared vision.<p>Please scrutinize and comment on the design, bang on the tools, and give us feedback! Maybe try writing a codegen or tinkering with the existing tools. Try porting an app or a game. If all goes well, this is what the vendors have agreed to ship at the beginning of next year, so we want to be absolutely sure that it's something solid that others can build on top of.<p>This is also not the end of the evolution for WebAssembly, since there is a pipeline of features planned that go beyond the MVP (minimal viable product), well into next year and after. The web and the working group is the place to experiment with and perfect those details going forward.<p>It's an exciting time for the future of the web!<p>Thanks,
- TL on the V8 side
Let's not let this announcement overshadow what's really important: bikeshedding over the official WebAssembly logo <a href="https://github.com/WebAssembly/design/issues/112" rel="nofollow">https://github.com/WebAssembly/design/issues/112</a> :)
Please, does anyone know:<p>- Why the chose stack-based VM, rather than register-based one?<p>- I see the docs mention Float128 type, is this a real possibility? What it their opinion on having Float128?<p>- there doesn't seem to be any support for ADC instruction ("add with carry") which would be very useful for implementing multi-precision numeric types. Are the plans to support ADC and the like or not? How to implement, say BigInt, with WebAssembly?<p>- maybe I misunderstood but when adding two integers result in an overflow, does it trigger the "trap"? I mean, lot of time (e.g. modular arithmetic) one does what fast "wrap around" (i.e. modulo 2^INT_SIZE) in integer types. Is this behaviour (of C) going to stay in WebAssembly?
What do you guys think is the best-case scenario for this project?<p>Like if everything goes well, how do you imagine it will affect the web in 5-10 years? What are we going to be able to do with it?
Why speculate about what Apple is doing if you can just go look at the WebKit change history.<p>Search for WebAssembly on <a href="https://trac.webkit.org" rel="nofollow">https://trac.webkit.org</a> and you can see that there is a lot of work happening.<p>The most recent commit being "WebAssembly API: implement Instance" - <a href="https://trac.webkit.org/changeset/207929" rel="nofollow">https://trac.webkit.org/changeset/207929</a><p>So yeah it looks like it is not finished. But it also looks like they are investing a lot of engineering time in this feature as we speak.
I really wish Adobe would write a Flash runtime in WebAssembly. There are tens of thousands of great Flash games that are unplayable in modern browsers... Sure, you could rewrite them in js, but no one is going to.
I haven't really looked into the implementation, but won't this be yet another possible way for getting out of the V8 sandbox and be able to execute code and thus be able to exploit? I recall exploits using typed arrays for code execution before, because they can contain raw assembly in a very low-level style (e.g a plain char array in C++)...
I thought web assembly compiled to JavaScript, but it doesn't look like that's so. It looks like a binary format. I think that's great if so. Finally we can expand beyond JavaScript on front-end development.
i feel like one important piece thats missing is a standardised debugging-API. The introduction of WebAssembly will probably lead to a larger percentage of people compiling a (completely different) language to something running in the browser will rise. We need solid tooling for that.
And so ended the Age of Javascript. Many will say, "good riddance" but I wonder what we lose by making the Web less shareable and copyable...
Anyone know what the best way to compile and run the text format in the browser is?<p>I'm working on a compiler for Clojure, which also runs in cljs, and would love to attempt to make a back end for it that runs in the browser.
Maybe someone that's more familiar with wasm can enlighten me, but isn't this still extremely limited in the capabilities it exposes? With so many limitations in place, what are some example use-cases that this helps with? Am I being too negative and unrealistic? I don't know what kind of expectations I should have. I'm not writing this to bait responses.<p>It seems to be that until you get lower level network capabilities and some form of file system access, you're just too limited.
We have been watching people redoing computer software perhaps 20 years behind with JS (the original Doom was ported in 2011, if I remember correctly, please bikeshed the exact number of years) Let's hope WebAssembly will seriously cut this figure down.
Based on this tutorial<p><a href="http://webassembly.org/getting-started/developers-guide/" rel="nofollow">http://webassembly.org/getting-started/developers-guide/</a><p>web assembly lets youvwrite web apps in C?
I you think about it, a WASM "process" is a great middle ground between a conventional VM (ugly hardware skeoumorphism) and container (ugly Unix).<p>I hope this becomes the standard interface for server hosting, not just the browser.
so it compiles c++ to webassembly syntax using empscripten compiler. what js has to do with webassembly? Is the idea is same with js? i.e. compiler js code to webassembly.<p><i>noob here on web assembly.</i>