News

Troublesome Client-Side Blazor WebAssembly 3.2 Previewed Ahead of May Debut

Blazor WebAssembly, the troublesome client-side component of Blazor, is out in a v3.2 preview ahead of its expected May debut as it plays catch-up with the rest of ASP.NET Core.

Blazor is Microsoft's new way to do web development -- including interactive client-side browser UI code -- with .NET languages such as C# instead of JavaScript, opening up new opportunities for Microsoft-centric developers. It has two components, one for server-side code, Blazor Server, and one for client-side code, Blazor WebAssembly, so named because the client-side effort relies on the experimental WebAssembly project that provides a compilation target for C# and other high-level languages so they can be used in browsers, kind of an assembly language for the web.

Because of technical issues, Blazor WebAssembly wasn't ready for the September 2019 release of .NET Core 3.0, which did include Blazor Server. At least some of those issues pertained to the WebAssembly project itself, which is out of Microsoft's control, the company indicated. Blazor WebAssembly also didn't make last month's .NET Core 3.1 long term support (LTS) release. Microsoft expects to finally ship Blazor WebAssembly in May.

Today (Jan. 28), Microsoft announced Blazor WebAssembly 3.2.0 Preview 1. It's called v3.2 in order to distinguish it from the .NET Core 3.1 LTS release. Microsoft's Daniel Roth explained the versioning in today's post. "There is no corresponding .NET Core 3.2 release -- the new 3.2 version applies only to Blazor WebAssembly," he said. "Blazor WebAssembly is currently based on .NET Core 3.1, but it doesn't inherit the .NET Core 3.1 LTS status. Instead, the initial release of Blazor WebAssembly scheduled for May of this year will be a Current release, which 'are supported for three months after a subsequent Current or LTS release' as described in the .NET Core support policy. The next planned release for Blazor WebAssembly after the 3.2 release in May will be with .NET 5. This means that once .NET 5 ships you'll need to update your Blazor WebAssembly apps to .NET 5 to stay in support."

.NET 5, designed to unify all things .NET in one package -- or at least name -- will debut in November.

So, now that all that stuff is out of the way, what's in the new Blazor WebAssembly 3.2 preview?

Roth highlighted three main features of the release (along with the above versioning verbiage, which was the fourth primary highlight):

  • Simplified startup: "We've simplified the startup and hosting APIs for Blazor WebAssembly in this release. Originally the startup and hosting APIs for Blazor WebAssembly were designed to mirror the patterns used by ASP.NET Core, but not all of the concepts were relevant. The updated APIs also enable some new scenarios."
  • Download size improvements: "Blazor WebAssembly apps run the .NET IL linker on every build to trim unused code from the app. In previous releases only the core framework libraries were trimmed. Starting with this release the Blazor framework assemblies are trimmed as well resulting in a modest size reduction of about 100 KB transferred."
  • Support for the .NET SignalR client: "You can now use SignalR from your Blazor WebAssembly apps using the .NET SignalR client."

The post also includes deatails on upgrading an existing project and known issues.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus

Featured

Subscribe on YouTube