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

  • How to Do Machine Learning Evolutionary Optimization Using C#

    Resident data scientist Dr. James McCaffrey of Microsoft Research turns his attention to evolutionary optimization, using a full code download, screenshots and graphics to explain this machine learning technique used to train many types of models by modeling the biological processes of natural selection, evolution, and mutation.

  • Old Stone Wall Graphic

    Visual Studio Code Boosts Java Dependency Viewer

    Easier management of project code dependencies and improvements to extensions for popular Java frameworks and runtimes highlight the February update to Java in Visual Studio Code functionality.

  • Blule Squares

    Visual Studio 2019 for Mac 8.5 Preview Adds ASP.NET Core Authentication

    Microsoft, after shipping Visual Studio 2019 for Mac v8.4 with support for ASP.NET Core Blazor Server applications last month, is now previewing the v8.5 series, adding new authentication templates for ASP.NET Core along with other improvements.

  • Q&A with Brice Wilson: What's New in Angular 9

    We caught up with expert web developer/trainer Brice Wilson to get his take on Angular, which always appears at or near the top of periodic rankings of the most popular JavaScript-based web development frameworks.

  • Entity Framework Core Migrations

    Eric Vogel uses code samples and screenshots to demonstrate how to use Entity Framework Core migrations in a .NET Core application through the command line and in code.

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events