
Özet:
Blazor, .NET ekosisteminde C# ile modern web arayüzleri geliştirmenizi sağlar. İki ana çalışma modeli vardır: Blazor Server (UI olayları SignalR ile sunucuda işlenir) ve Blazor WebAssembly (WASM) (uygulama tarayıcıda çalışır). “Doğru” seçim; kullanım senaryosu, gecikme toleransı, barındırma/CI-CD kısıtları, güvenlik/uyumluluk ve SEO/CWV hedeflerine bağlıdır.
1) Mimariyi 30 Saniyede Anlamak
Blazor Server
Render ve event işleme sunucuda; tarayıcıyla SignalR üstünden persistent bağlantı (WebSocket) kurulur.
Artıları: İlk yükleme çok hızlı (SSR), .NET kodu sunucuda kalır, hafif istemci, SEO ve erişilebilirlik için iyi başlangıç.
Eksileri: Sunucu başına daha çok concurrent connection yönetimi, ağ gecikmesine hassas, offline destek yok.
Blazor WebAssembly
Uygulama tarayıcıda (WASM) çalışır; ilk yüklemede .NET runtime + assembly’ler indirilir.
Artıları: Offline/PWA, düşük gecikmeli UI, ölçeklenebilir edge/CDN dağıtımı, sunucu maliyeti düşebilir.
Eksileri: İlk yükleme paketi büyük olabilir (AOT, trimming ayarı önemli), gizli iş kuralları istemciye iner.
2) Performans ve Kullanıcı Deneyimi (CWV & TTFB)
İlk yükleme
Server: TTFB düşük; HTML ilk an hızlı gelir. Ağ koparsa UI “donar”.
WASM: İlk indirme daha ağır olabilir; AOT + IL trimming + lazy loading ile azaltılır. Sonrasında akıcıdır, ağ gecikmesinden etkilenmez.
Etkileşim gecikmesi
Server: Her event sunucu turu ister → RTT etkisi. Yakın coğrafyada ve iyi ağda problemsiz.
WASM: Event’ler lokalde işlenir → ultra düşük gecikme.
Core Web Vitals
Server: LCP iyidir (SSR). Ancak sürekli bağlantı ve render turları CLS’e nadiren etki edebilir.
WASM: Doğru optimizasyonla iyi CWV; büyük bundle’lar LCP’yi bozabilir → defer/lazy kullanın.
3) Güvenlik & Uyum
Server: İş kuralları ve anahtarlar sunucuda kalır → IP koruması daha kolay. Ağ üzerinden sadece UI difleri/eventler gider.
WASM: Kod ve bazı iş kuralları istemciye iner (obfuscation yapsanız da görülebilir). Yetkilendirme API katmanında sıkı yönetilmeli (token scope, rate limit, server-side enforcement).
4) Hosting, DevOps ve Maliyet
Server: ASP.NET Core barındırma; SignalR scale-out (Redis/Backplane, Azure SignalR Service) gerekebilir. Stateful bağlantılar nedeniyle concurrency daha maliyetli.
WASM: Static hosting + CDN (GitHub Pages/Azure Static Web Apps/S3+CloudFront) uygundur; backend API ayrıdır. Trafik artsa bile front dağıtımı ucuz; maliyet API tarafına kayar.
5) SEO, SSR ve İçerik
Server: SSR doğası gereği SEO-friendly ve hızlı ilk render.
WASM: SPA yapısı nedeniyle pre-rendering önerilir (ASP.NET Hosted şablonunda blazorwasm + prerender); dinamik sayfalar için API → prerender veya Edge SSR düşünebilirsiniz.
6) Offline, PWA ve Gerçek Zamanlı
Offline/PWA: WASM açık ara önde (Service Worker, Cache).
Gerçek zamanlı UI: İkisi de SignalR kullanır; Server’da zaten zorunlu, WASM’da opsiyoneldir. Düşük gecikme gerekiyorsa WASM + WebSocket tatlı kombinasyon.
7) Ölçeklenebilirlik
Server: Bağlantı başına bellek/işlem maliyeti vardır. Binlerce eşzamanlı kullanıcı için Azure SignalR veya yatay ölçek şart.
WASM: UI istemciye dağıtıldığından horizontally “infinite” gibi; gerçek limitler API ve veri katmanında.
8) Hangi Senaryoda Hangisi?
Blazor Server tercih edin eğer:
İç ağ/kurumsal uygulama (intranet, dashboard, call center).
Düşük trafiğe sahip ama kritik güvenlik isteyen uygulama.
SEO kritik ve hızlı “first paint” önceliğiniz.
Operasyonunuz zaten Windows/Linux App Service/K8s üzerinde ve DevOps ekibiniz SignalR scale-out’a hazır.
Blazor WebAssembly tercih edin eğer:
Kamuya açık B2C site, yüksek trafik, CDN ile ucuz ölçek önceliği.
Offline/PWA şart (saha satış, depo, mobil saha formu).
Küresel kullanıcı tabanı; edge dağıtım istiyorsunuz.
UI’de düşük gecikme ve zengin etkileşim (grafik, canvas, maps).
Hibrit (Hosted + Prerender) düşünün eğer:
Pazarlama/SEO + uygulama deneyimi aynı projede buluşsun istiyorsunuz.
SSR ile hızlı ilk render, sonra WASM devralsın.
9) Karar Matrisi (Basit Puanlama)
Aşağıdaki başlıklara 1–5 arası puan verin (5 = bu kriter çok önemli).
Offline/PWA
SEO/SSR
Düşük Gecikme (UI)
Gizli İş Kuralları Sunucuda Kalsın
CDN ile Ucuz Ölçek
Kurumsal Ağ/On-Prem Uyumu
Gerçek Zamanlı Yoğun Etkileşim (chat, izleme)
Öneri:
Offline + Düşük Gecikme + CDN/Edge toplamı Server toplamından yüksekse → WASM
SEO/SSR + IP Koruma + Kurumsal Ağ toplamı yüksekse → Server
Başabaşsa → Hosted WASM (prerender) hibrit ile başlayın.