News

Blazor (.NET for Web Experiment) Hits 0.9.0

Microsoft's experimental Blazor project for C#-based .NET Web development (as an alternative to JavaScript) has reached version 0.9.0 on its possible journey to becoming generally available for production use.

But for now, Microsoft's most recent FAQ documentation states:

Blazor is an experimental project because there are still lots of questions to answer about its viability and appeal. The purposes of this initial experimental phase is to work through the any outstanding technical issues, to gauge interest and to listen to feedback. While we are optimistic about Blazor's future, at this time Blazor is not a committed product and should be considered pre-alpha.

While the viability remains in question, the appeal is obvious: ditch the reliance on the troublesome, sprawling JavaScript ecosystem for browser-based Web development by using WebAssembly -- yet another experimental project -- to provide a low-level assembly-like language that higher-order languages can compile to for better performance.

In the Blazor scheme, the Mono .NET runtime gets compiled to WebAssembly, with the browser-based side of things working like this:

  • C# code files and Razor files are compiled into .NET assemblies.
  • The assemblies and the .NET runtime are downloaded to the browser.
  • Blazor bootstraps the .NET runtime and configures the runtime to load the assemblies for the app. Document Object Model (DOM) manipulation and browser API calls are handled by the Blazor runtime via JavaScript interop.

However, when the client-side effort of Blazor encountered problems, the server-side project was dubbed Razor Components and moved to ASP.NET Core.

That Razor Components project received many updates in the just-released .NET Core 3.0 Preview 3, which includes ASP.NET Core.

Thus, Microsoft did little more than point to the ASP.NET Core updates in announcing Blazor 0.9.0.

"This release updates Blazor with the Razor Components improvements in .NET," a March 7 post says.

Those improvements, listed a day earlier in a post announcing ASP.NET Core 3.0 Preview 3, include:

  • Single project template: The Razor Components project template is now a single project instead of two projects in the same solution.
  • New .razor extension: To clarify which Razor files should be compiled as Razor Components, Microsoft introduced a new file extension: .razor.
  • Endpoint routing integration: Razor Components are now integrated into ASP.NET Core's new Endpoint Routing system.
  • Prerendering: The Razor Components project template now does server-side prerendering by default, so when a user navigates to an application, the server will perform an initial render of Razor Components and deliver the result to their browser as plain static HTML. Then, the browser will reconnect to the server via SignalR and switch the Razor Components into a fully interactive mode.
  • Razor Components in Razor Class Libraries: Developers can now add Razor Components to Razor Class Libraries and reference them from ASP.NET Core projects using Razor Components.
  • Improved event handling: The new EventCallback and EventCallback<> types make defining component callbacks much more straightforward.
  • Forms and validation: This preview release adds built-in components and infrastructure for handling forms and validation.

Microsoft pointed to lists of new features and bug fixes for Blazor 0.9.0 on GitHub for more detailed information.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube