# It's official, WebAssembly is here to stay

**URL:** <https://www.epiusers.help/t/its-official-webassembly-is-here-to-stay/62530>\
**Category:** Off Topic\
**Tags:** w3c\
**Created:** [December 6, 2019, 5:09pm UTC](https://www.epiusers.help/t/its-official-webassembly-is-here-to-stay/62530 "2019-12-06T17:09:36Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![hkeric.wci](https://www.epiusers.help/user_avatar/www.epiusers.help/hkeric.wci/32/52019_2.png) [@hkeric.wci](https://www.epiusers.help/u/hkeric.wci)\
**Post date:** [December 6, 2019, 5:09pm UTC](https://www.epiusers.help/t/its-official-webassembly-is-here-to-stay/62530/1 "2019-12-06T17:09:36Z")

</div>

[https://www.w3.org/blog/news/archives/8123](https://www.w3.org/blog/news/archives/8123)

The [WebAssembly Working Group](https://www.w3.org/wasm/) 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](https://www.w3.org/TR/2019/REC-wasm-core-1-20191205/) 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](https://www.w3.org/TR/2019/REC-wasm-web-api-1-20191205/) 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](https://www.w3.org/TR/2019/REC-wasm-js-api-1-20191205/) 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.

---

<div class="post-metadata">

**Author:** ![John\_Mitchell](https://www.epiusers.help/user_avatar/www.epiusers.help/john_mitchell/32/718_2.png) [@John\_Mitchell](https://www.epiusers.help/u/John_Mitchell)\
**Post date:** [December 6, 2019, 6:41pm UTC](https://www.epiusers.help/t/its-official-webassembly-is-here-to-stay/62530/2 "2019-12-06T18:41:30Z")

</div>

@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](https://docs.microsoft.com/en-us/aspnet/core/blazor/hosting-models?view=aspnetcore-3.0) 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 🤯

---

<div class="post-metadata">

**Author:** ![josecgomez](https://www.epiusers.help/user_avatar/www.epiusers.help/josecgomez/32/55731_2.png) [@josecgomez](https://www.epiusers.help/u/josecgomez)\
**Post date:** [December 6, 2019, 6:49pm UTC](https://www.epiusers.help/t/its-official-webassembly-is-here-to-stay/62530/3 "2019-12-06T18:49:54Z")

</div>

Damn it !  
 ![](https://media.giphy.com/media/84rG9j2H62hwc/giphy.gif)  
I just got around learning Angular , and TypeScript and Node and now… WebAssembly… le sigh!

(Throws away all angular books)  
 ![](https://media2.giphy.com/media/2Ys7V07yVcr0gJIdet/giphy.gif)

There’s no REST for the weary…

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

---

<div class="post-metadata">

**Author:** ![Mark\_Wonsil](https://www.epiusers.help/user_avatar/www.epiusers.help/mark_wonsil/32/51594_2.png) [@Mark\_Wonsil](https://www.epiusers.help/u/Mark_Wonsil)\
**Post date:** [December 9, 2019, 3:15pm UTC](https://www.epiusers.help/t/its-official-webassembly-is-here-to-stay/62530/4 "2019-12-09T15:15:35Z")

</div>

> [@John\_Mitchell](#):
>
> What do you think the time frame is going to be before we start getting actual production projects compiled to WASM?

.Net Core 3.1 LTS was just released and you can [download the the preview SDK](https://docs.microsoft.com/en-us/aspnet/core/blazor/get-started?view=aspnetcore-3.1&tabs=visual-studio) 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](https://channel9.msdn.com/Shows/On-NET/Blazor-and-Azure-Functions)

---

<div class="post-metadata">

**Author:** ![litzer67](https://www.epiusers.help/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@litzer67](https://www.epiusers.help/u/litzer67)\
**Post date:** [January 31, 2020, 3:46pm UTC](https://www.epiusers.help/t/its-official-webassembly-is-here-to-stay/62530/5 "2020-01-31T15:46:19Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![josecgomez](https://www.epiusers.help/user_avatar/www.epiusers.help/josecgomez/32/55731_2.png) [@josecgomez](https://www.epiusers.help/u/josecgomez)\
**Post date:** [January 31, 2020, 8:42pm UTC](https://www.epiusers.help/t/its-official-webassembly-is-here-to-stay/62530/6 "2020-01-31T20:42:42Z")

</div>

> [@litzer67](#):
>
> Epicor is going to use Blazor with JavaScript interop instead of Angular and TypeScript

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?)

---

<div class="post-metadata">

**Author:** ![litzer67](https://www.epiusers.help/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@litzer67](https://www.epiusers.help/u/litzer67)\
**Post date:** [January 31, 2020, 9:52pm UTC](https://www.epiusers.help/t/its-official-webassembly-is-here-to-stay/62530/7 "2020-01-31T21:52:40Z")

</div>

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