Knoxville, Tennessee is not only a fun city and great place to visit; it happens to be the host city of the CodeStock developers’ conference.
The conference started back in 2007 and for 12 years has helped deliver the latest content to developers with topics ranging from women in technology and leadership skills to database design, cloud native applications, and more. This year I was asked to open the conference with a keynote.
In addition to the keynote, I delivered a presentation about WebAssembly and Blazor. I don’t just have a passing interest in WebAssembly; I believe it’s the future.
👀 The more I look into it the more I'm convinced that #WebAssembly is not only the Next Big Thing™ but will be ubiquitous on both the client *and* the server.
🆗 It just makes sense, and there is tremendous momentum on multiple fronts to move it forward.
15:07 PM - 29 Mar 2019
3
22
If you’re not familiar with WebAssembly, take a minute to read this high-level overview that I wrote (don't worry: it only takes a few minutes to read; I'll wait):
WebAssembly, or Wasm for short, is so powerful that teams of developers were able to port the entire .NET framework to run on it! This means that many existing .NET libraries can run “as is” with DLLs that are loaded directly into your browser. It also means that if you want to write applications for the browser, JavaScript and TypeScript are no longer the only language options available. You can create fully functional Single Page Applications (SPA) in C#!
All of this is made possible with Blazor, a framework for SPA apps built on top of .NET over WebAssembly. There are two parts to the presentation. First, you can download the deck here.
Second, I built a GitHub repository with several demos. It includes a set of step-by-step instructions. You are welcome to fork the repository and walk through on your own or use these demos in your own presentations.
The demos cover everything from components, class libraries, JavaScript interoperability, and code-behind to implementing the MVVM pattern and debugging. I accept feedback and of course pull requests.