News

Blazor Graduates from Experiment to Preview

On the same day we reported "the end of the experiment is in sight" for Microsoft's Blazor project, it did indeed graduate from experimental status to a preview of a new way to do Web UI with .NET languages like C#.

"Blazor is no longer experimental and we are committing to ship it as a supported web UI framework including support for running client-side in the browser on WebAssembly," Blazor guru Daniel Roth said in post yesterday.

The open source Blazor project uses the experimental WebAssembly project to provide a low-level assembly-like language that higher-order languages can compile to for better performance. Or, as resident Blazor expert Chris Sainty explained: "The goal is to provide a single-page application (SPA)-style framework that allows developers to write C# and Razor code and have it run in the browser via WebAssembly."

As we reported yesterday, Microsoft is dropping the separate names for client-side Blazor and for server-side Blazor, the latter of which was dubbed ASP.NET Core Razor Components for a while. The Razor Components/server-side Blazor part of the project was baked into ASP.NET Core to be included in the upcoming .NET Core 3.0 releases, while the more problematic client-side effort (depending upon WebAssembly) was put on hold, not ready for the v3.0 update cycle.

The new scheme is a single client app model with multiple hosting models:

  • Server-side Blazor runs on the server via SignalR; it will ship as part of .NET Core 3.0.
  • Client-side Blazor runs client-side on WebAssembly; while it won't be ready for .NET Core 3.0, Roth said: "we are now announcing it is committed to ship as part of a future .NET Core release (and hence is no longer an 'experiment')."

New features in the first preview include:

  • Templates updated to use the .razor file extension
  • _Imports.razor
  • Scope components with @using
  • New component item template
  • New Blazor icons
  • Blazor support in Visual Studio Code

More information on all of the new features and more is available in the release notes.

In other news, an update of the Blazor site sees the community page being retired in favor of the community-led Awesome Blazor site, featuring demos, sample projects, tutorials, extensions, libraries, videos, articles and more.

Roth also pointed out more Blazor resources from .NET tooling vendors such as Telerik, DevExpress and Syncfusion.

"A little over a year ago we started the Blazor experimental project with the goal of building a client Web UI framework based on .NET and WebAssembly," Roth said. "At the time Blazor was little more than a prototype and there were lots of open questions about the viability of running .NET in the browser. Since then we’ve shipped nine experimental Blazor releases addressing a variety of concerns including component model, data binding, event handling, routing, layouts, app size, hosting models, debugging, and tooling. We’re now at the point where we think Blazor is ready to take its next step."

As Roth explained in a YouTube video earlier in the week, upcoming work on the project includes: support for static assets in component class libraries; support for ahead-of-time compilation for WebAssembly (in conjunction with the Mono team); authentication and authorization; client-side debugging; and more.

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