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.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus

Featured

  • How to Do Naive Bayes with Numeric Data Using C#

    Dr. James McCaffrey of Microsoft Research uses a full code sample and screenshots to demonstrate how to create a naive Bayes classification system when the predictor values are numeric, using the C# language without any special code libraries.

  • Vortex

    Open Source 'Infrastructure-as-Code' SDK Adds .NET Core Support for Working with Azure

    Pulumi, known for its "Infrastructure-as-Code" cloud development tooling, has added support for .NET Core, letting .NET-centric developers use C#, F# and VB.NET to create, deploy, and manage Azure infrastructure.

  • .NET Framework Not Forgotten: Repair Tool Updated

    Even though Microsoft's development focus has shifted to the open-source, cross-platform .NET Core initiative -- with the aging, traditional, Windows-only .NET Framework relegated primarily to fixes and maintenance such as quality and reliability improvements -- the latter is still getting some other attention, as exemplified in a repair tool update.

  • How to Work with C# Vectors and Matrices for Machine Learning

    Here's a hands-on tutorial from bona-fide data scientist Dr. James McCaffrey of Microsoft Research to get you up to speed with machine learning development using C#, complete with code listings and graphics.

  • Sign

    Working with Claims to Authorize Users in ASP.NET Core and Blazor

    When you need to integrate authorizing the user to perform some activity (or just want to retrieve information about the current user), you need to work with the ClaimsPrincipal’s Claims objects. Here’s everything you might want to do.

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events