crazy_coder
Moderatör
- Katılım
- 20 Şub 2026
- Mesajlar
- 204
- Tepkime puanı
- 0
- Puanları
- 16
Blazor Nedir? JavaScript Olmadan Full-Stack C# Geliştirme
Blazor, geliştiricilerin JavaScript yerine C# kullanarak interaktif web arayüzleri oluşturmasına olanak tanıyan bir .NET framework'üdür. Hem sunucu tarafında hem de tarayıcı üzerinde C# kodunu koşturabilir.
1. Blazor'ın Arkasındaki Sihir: WebAssembly (WASM)
Eskiden tarayıcılar sadece JavaScript anlardı. Ancak WebAssembly teknolojisiyle artık tarayıcılar derlenmiş dilleri (C#, Rust, C++) de çalıştırabiliyor. Blazor, .NET çalışma zamanını (runtime) tarayıcıya indirerek C# kodunuzun doğrudan istemci tarafında çalışmasını sağlar.
2. Blazor Barındırma Modelleri
Blazor'da projenizi iki farklı şekilde çalıştırabilirsiniz:
[]Blazor Server: Uygulama sunucuda çalışır. Tarayıcı ile sunucu arasında sürekli bir SignalR bağlantısı vardır. Kullanıcı bir butona bastığında istek sunucuya gider, UI güncellenir ve fark tarayıcıya yansıtılır.
[]Blazor WebAssembly (WASM): Uygulama, kütüphaneler ve .NET runtime tarayıcıya indirilir. Uygulama tamamen istemci tarafında çalışır (SPA - Single Page Application). İnternet kopsa bile uygulama (API çağrıları hariç) çalışmaya devam edebilir.
3. Component (Bileşen) Yapısı
Blazor, .razor uzantılı bileşenlerden oluşur. Bir bileşen; HTML, CSS ve C# kodunun birleşimidir.
C#:
@page "/sayac"
<h1>Sayaç: @mevcutDeger</h1>
<button class="btn btn-primary" @onclick="Artir">Tıkla Beni</button>
@code {
private int mevcutDeger = 0;
private void Artir()
{
mevcutDeger++;
}
}
4. Neden Blazor Seçmelisiniz?
| Özellik | Avantajı |
|---|---|
| Kod Paylaşımı | Veri modellerinizi (DTO) hem Backend hem Frontend'de ortak kullanabilirsiniz. |
| Performans | WebAssembly ile yoğun hesaplama gerektiren işlemler JS'den daha hızlı olabilir. |
| Ekosistem | NuGet paketlerini ve bildiğiniz tüm C# kütüphanelerini arayüzde kullanabilirsiniz. |
| JS Interop | İhtiyaç duyduğunuzda hala JavaScript kütüphanelerini çağırabilirsiniz. |
Sonuç
Blazor, özellikle .NET ekosistemine hakim ekipler için web geliştirme hızını inanılmaz artırır. JavaScript'in karmaşık paket yöneticileri ve tip güvensiz yapısıyla uğraşmak yerine, C#'ın güçlü tip güvenliği (Type Safety) ve Visual Studio'nun mükemmel hata ayıklama (Debugging) özellikleriyle web arayüzleri geliştirebilirsiniz.