Blazor Nedir?
Blazor (Browser + Razor), client-side ve server-side modelleriyle ve .Net Core (C# + Razor) platformu ile her yerde çalışabilen, SPA (Single Page Application) web uygulama geliştirmemizi sağlayan bir frameworktür.
Razor Components
Blazor uygulamaları razor componentlere dayanmaktadır. Blazor'daki componentler UI (Arayüz) öğesidir.
Component.razor dosyası:
<h3>Component</h3>
<div>
<h1>@Title</h1>
@ChildContent
<button @onclick="OnClick">Tıkla</button>
</div>
@code {
private int currentCount = 0;
[Parameter]
public string Title { get; set; }
[Parameter]
public RenderFragment ChildContent { get; set; }
private void OnClick()
{
currentCount++;
Title = $"{currentCount} Clicked";
}
}
Blazor Web Assembly (Client-Side)

WebAssembly (wasm) dört büyük tarayıcı (Microsoft Edge, Chrome, Firefox, Safari) tarafından desteklenen, C, C++, C#, Rust, Go vb. yüksek seviyeli dillerin tarayıcılarda derlenip, çalışabilmesine sağlayan bir web projesidir.
Blazor Web Assembly ilk olarak açık kaynak kodlu Mono projesi (mono.wasm) ile .Net Kütüphanelerini web tarayıcısı üzerinden, Web Assembly özelliğini kullanarak derleyip, çalıştırmıştır.

Blazor Client-Side, Mono ekibinin Wasm runtime özelliğini kullanarak, web tarayıcısında C# ve Razor Syntax kullanarak SPA (Single Page Application) web uygulamaları yazmamızı sağlıyor.
Progressive Web Apps (PWA)

Blazor Web Assembly'i PWA proje türü olarak kullanabiliriz. Bu şekilde yazdığımız web uygulamaları kullanıcıların internet erişimi olmasa bile erişebilir hale geliyor.
SignalR ile Blazor Web Uygulaması (Server-Side)

Blazor Server-Side web uygulaması, Web Assembly'i kullanmak yerine tarayıcıyı bir client olarak kabul eder, tüm .Net kodları sunucu tarafında çalışır, sunucu tarayıcı ile web soketlerini kullanan SignalR kütüphanesini üzerinden gerçek zamanlı iletişime geçer.
Blazor Modellerinin Karşılaştırılması:

Bonus: İlgi çekici Blazor Uygulamaları
1) Blazor Web Window Uygulaması

Blog Post: Linke gitmek için tıklayın
Github: Linke gitmek için tıklayın
2) Blazor Electron Uygulaması

Blog Post: Linke gitmek için tıklayın
Github: Linke gitmek için tıklayın
3) Blazor Xamarin Android ve iOS Mobil Uygulama

Blog Post: Linke gitmek için tıklayın
Github: Linke gitmek için tıklayın