News

Blazor WebAssembly Not Ready for .NET Core 3.0 Prime Time

The much-anticipated .NET Core 3.0 milestone release is shipping in five days, Sept. 23, but it won't include a stable Blazor WebAssembly.

Blazor is the red-hot project recently graduated from experimental stage that lets .NET-centric developers use C# for Web development, long an almost exclusive province of JavaScript. WebAssembly, an experimental project itself, is described by steward Mozilla as a low-level assembly-like language with a compact binary format that provides C# with a compilation target for Web projects.

Blazor WebAssembly is described by Microsoft thusly:

The principal hosting model for Blazor is running client-side in the browser on WebAssembly. The Blazor app, its dependencies, and the .NET runtime are downloaded to the browser. The app is executed directly on the browser UI thread. UI updates and event handling occur within the same process. The app's assets are deployed as static files to a web server or service capable of serving static content to clients.

Blazor Server, meanwhile is described like this:

With the Blazor Server hosting model, the app is executed on the server from within an ASP.NET Core app. UI updates, event handling, and JavaScript calls are handled over a SignalR connection.

So Blazor allows for client-side and server-side development, but the client Blazor WebAssembly side of things was more difficult to implement, Microsoft found, and it lagged behind the server-side development effort.

That lag continues, as Microsoft this week said Blazor WebAssembly won't be ready as a stable release in .NET Core 3.0 in announcing a surprise RC1 (Release Candidate) in order to synchronize the SDK across .NET Core and Visual Studio.

"There is also a Blazor WebAssembly preview update available with this release," Daniel Roth, principal program manager for ASP.NET, said in announcing ASP.NET Core and Blazor updates in .NET Core 3.0 RC1. "This update to Blazor WebAssembly still has a Preview 9 version, but carries an updated build number. This is not a release candidate for Blazor WebAssembly. Blazor WebAssembly isn't expected to ship as a stable release until some time after .NET Core 3.0 ships (details coming soon!)."

So stay tuned for those details. A follow-on .NET Core 3.1 release -- which will include late bug fixes and more, and, who knows, maybe a stable Blazor WebAssembly -- is scheduled for November.