Yazılım ve Teknoloji

Blazor Server mı Blazor WebAssembly mi? Doğru Tercih Hangisi?

6 Okunma 05.10.2025
Blazor Server mı Blazor WebAssembly mi? Doğru Tercih Hangisi?

Ö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.