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 for Converge360.

comments powered by Disqus

Featured

  • 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.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

  • What's New for Python, Java in Visual Studio Code

    Microsoft announced March 2024 updates to its Python and Java extensions for Visual Studio Code, the open source-based, cross-platform code editor that has repeatedly been named the No. 1 tool in major development surveys.

Subscribe on YouTube