Introduction
Web development has traditionally required two languages: C# (or any backend language) for server-side logic and JavaScript for client-side interactivity. But what if you could build full-stack web applications using just C#?
That’s where Blazor comes in. Blazor is a modern framework from Microsoft that allows developers to build interactive web UIs using C#, Razor, and .NET without writing JavaScript for most scenarios.s
What is Blazor?
Blazor is part of ASP.NET Core and enables building single-page applications (SPAs) using C#. It uses a component-based architecture similar to Angular, React, and Vue but with the power of .NET.
Uses of Blazor
We can write client-side logic in C# instead of JavaScript.
Reuse your .NET libraries across the client and server.
Build web apps faster if you already know C#.
Why Blazor?
One language: C# everywhere, no need to switch between C# and JavaScript.
Component-Based: Build reusable UI components.
Full .NET Ecosystem: Use LINQ, Entity Framework, and other .NET libraries.
Cross-Platform: Works on Windows, Linux, and macOS.
Blazor hosting models
Blazor comes with two main hosting models:
Blazor Server
Runs on the server.
UI updates are sent via SignalR connection.
Pros: Small download size, works on older browsers.
Cons: Requires constant server connection.
Blazor WebAssembly (WASM)
Runs directly in the browser using WebAssembly.
Pros: Truly client-side, works offline, scalable.
Cons: Larger initial download.
Note. You can choose the model depending on your application needs.
Example: The Counter App
When you create a new Blazor project, you’ll see a default Counter page. Let’s look at the code: