It's official, WebAssembly is here to stay

https://www.w3.org/blog/news/archives/8123

The WebAssembly Working Group has published today the three WebAssembly specifications as W3C Recommendations, marking the arrival of a new language for the Web which allows code to run in the browser.

  • WebAssembly Core Specification defines a low-level virtual machine which closely mimicks the functionality of many microprocessors upon which it is run. Either through Just-In-Time compilation or interpretation, the WebAssembly engine can perform at nearly the speed of code compiled for a native platform. A .wasm resource is analogous to a Java .class file in that it contains static data and code segments which operate over that static data. Unlike Java, WebAssembly is typically produced as a compilation target from other programming languages like C/C++ and Rust.
  • WebAssembly Web API defines a Promise-based interface for requesting and executing a .wasm resource. The structure of a .wasm resource is optimized to allow execution to begin before the entire resource has been retrieved, which further enhances responsiveness of WebAssembly applications.
  • WebAssembly JavaScript Interface provides a JavaScript API for invoking and passing parameters to WebAssembly functions. In Web browsers, WebAssembly’s interactions with the host environment are all managed through JavaScript, which means that WebAssembly relies on JavaScript’s highly-engineered security model.
3 Likes

@hkeric.wci What do you think the time frame is going to be before we start getting actual production projects compiled to WASM?

Blazor WebAssembly is scheduled to be released in May 2020. That’s where you are going to be able to compile the .Net Core runtime in WASM and include it in the WASM file with your code :exploding_head:

Damn it !

I just got around learning Angular , and TypeScript and Node and now… WebAssembly… le sigh!

(Throws away all angular books)

There’s no REST for the weary…

All joking aside I am glad that they are finally standardizing on it

3 Likes

.Net Core 3.1 LTS was just released and you can download the the preview SDK now. Server-side blazor has been available for a few months now.

Unlike Silverlight, WASM is a W3C standard and it is supported in all browsers: Chromium (Chrome, Edge), Mozilla, and WebKit. Once that happened and other languages (Rust, Java, Python, Go, …) jumped on board, it was clear to me that WASM was here to stay. HT to Microsoft for getting ahead of the curve (or at least staying in time) on this one. A lot of possibilities too:

https://channel9.msdn.com/Shows/On-NET/Blazor-and-Azure-Functions

2 Likes

So this is true, Epicor is going to use Blazor with JavaScript interop instead of Angular and TypeScript? I wrote a Razor Page project using JavaScript where
needed (prior to Blazor being production ready in Net Core 3) and now I am transitioning that to Blazor Server side until WASM is production ready for Blazor. That means I don’t need to dig into Angular. Are they still using Kendo controls, I am using them
on my Razor Pages project and I like them, especially the grid functionality.

Scott

No, I don’t think this is correct (at least not yet) Kinetic is too far ahead already. It is still going to be (as far as I know) Angular, Typescript stack (or did you hear something recently?)

No, I didn’t. I guess the previous posts had me confused, and hopeful. Thanks for clearing that up, Angular training in my future.