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

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

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

Subscribe on YouTube