Blazor is a framework for building modern web applications that run in the browser that are built with .NET. Blazor let you build web apps with two different rendering models – a server-side (Blazor Server) or a client-side (Blazor WebAssembly) model.
- Blazor Server applications are ASP.NET Core hosted apps on the server running ASP.NET Core Razor pages. Processing is done on the server, with client HTML page updates done via a SignalR connection from the server end point.
- Blazor WebAssembly is a single-page application (SPA) framework that runs .NET assemblies written in C# directly in the browser. WebAssembly, an open standard for running binary code in web pages. In this mode, your code is executing against a .NET runtime that is downloaded with your application.
A Blazor App is an interactive, modern web application built using ASP.NET, C# and the .NET Framework that can run any type of line-of-business application, productivity application or SaaS application on the web. ASP.NET Blazor is a Blazor is a framework for building interactive client-side web UI with .NET. Blazor apps are different than Angular or React apps in these ways:
- Developers can take full advantage of the .NET Framework which has decades of security and reliability built in.
- Application logic can be shared across the client and server using ASP.NET Core.
- Developers have a choice if a server-based model using ASP.NET Core, or a pure client-side model using WebAssembly.
Performance is critical to the success of any application framework. If operations are slow, pages render slow, interactions are slow, there will be no adoption of a framework. Microsoft knows this better than anyone. With Blazor, like any new technology, there are always issues that come up with a version 1, some of them related to performance. The biggest pushback with Blazor is around the size of the package that includes the .NET Framework and the WebAssembly of the actual application being run. Since WebAssembly is more than a simple HTML page, it includes DLL’s and binaries that are sent from the server to the client, there is a risk of a larger initial payload, which could affect your app if it is a SaaS app on the web. For internal line-of-business apps, payload size is usually not relevant. Microsoft is committed to addressing performance issues in Blazor, from the initial payload size to the overall performance of runtime execution on the client. At Infragistics, we expect these issues to be addressed between now and when .NET 6 is released in the fall of 2021.
Creating a Blazor app is simple.
Prerequisites for a Blazor App
- Install Visual Studio 2019 version 16.6 for Windows or version 8.6 for Mac with ASP.NET and Web Development installed.
- Install .NET 5 SDK if you are using Visual Studio Code
Creating a Blazor App with Visual Studio
- Open Visual Studio.
- Click Create a New Project.
- Select Blazor App then click Next.
- Change the Project name, Location and Solution name, or leave the defaults, then click Next.
- Choose Blazor Server App if you want to create a server-side web app using ASP.NET Core or choose Blazor WebAssembly App if you want to create a WebAssembly that will run on the client.
- If you chose Blazor WebAssembly App, check the ASP.NET Core hosted checkbox, as you app's assets are deployed as static files to an ASP.NET Core server to serve the static content to the clients.
- Click the Create button.
Creating a Blazor App with Visual Studio Code with Command Line
- In Visual Studio Code, open a new Terminal.
- At the Terminal prompt, type one of the following, based on the type of Blazor app you’d like to create, Blazor WebAssembly or Blazor Server:
dotnet new blazorwasm
dotnet new blazorserver
To learn all the options for creating Blazor apps at the command line, use the -h to get the Help options
dotnet new blazorwasm -h
dotnet new blazorserver -h
Ignite UI for Blazor is a complete library of Blazor components and controls designed for C# and .NET developers looking to build rich and responsive web apps. The Blazor component library includes 60+ data charts and graphs for better visualizations, fast data grids and tables, and user interface (UI) components.
Ignite UI for Blazor is the most complete library of enterprise-grade, Blazor UI components available. Professionally designed and developed for C# and .NET developers, Ignite UI for Blazor provides you with everything you need to build rich web applications. All backed by Infragistics 30+ years of industry leadership and our award-winning live support.
Infragistics releases minor updates every month with two big releases per year where we introduce new Blazor components, product features and enhancements.
Our Blazor components are included as a part of our Ignite UI bundle. A single developer license starts at $1,295 USD for a one-year subscription, including one year of standard support and updates. We also offer discounts for multi-year licenses. Please refer to the Pricing page for more information on pricing.
The best place to get started is the Ignite UI for Blazor documentation and getting started materials. It provides a step-by-step explanation for creating Blazor Server apps, Blazor WebAssembly apps, and .NET MAUI Blazor apps using Visual Studio. You can also add Ignite UI for Blazor to an existing application. Simply go to Install Ignite UI for Blazor Package.
Yes, you can deploy an application that uses Ignite UI for Blazor components or controls to unlimited clients. With the flexibility of our plans, we only license on a per-developer basis and do not charge any runtime, royalty, or deployment fees.
The team at Infragistics maintains a comprehensive library of Blazor code samples which you can accesss here and see how a simple new Blazor project looks like. Also, there is a library of sample applications, including team collaboration apps, e-commerce, travel, and more. You can explore the Blazor sample apps here
As of the Infragistics Ultimate 22.2 release, all Blazor components are .NET 7 compatible. The Infragistics team always monitors major releases in .NET and keeps all the components compatible so developers can create high-impact UX and full-featured apps with no compromise.