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

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

Subscribe on YouTube