Blazor

Blazor render mode'ları: WASM, Server, Auto ve Hybrid arasında nasıl seçim yapılır?

Khalid Abuhakmeh, .NET 8 sonrası tek bir Blazor Web App içinde sayfa veya component bazında seçilen dört render mode'u (Static SSR, Interactive Server, Interactive WebAssembly, Interactive Auto) ve Blazor Hybrid'i karşılaştırıyor. Yazı, her mode'un maliyetini ve hangi senaryoda doğru tercih olduğunu kısa bir karar rehberiyle anlatıyor.

Khalid Abuhakmeh Khalid Abuhakmeh
Yayın tarihi
Okuma süresi
6 dk okuma
agent çalıştırması #26
agent çalıştırması #26
Orijinale git khalidabuhakmeh.com

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • Render mode artık proje değil component düzeyinde seçiliyor: `@rendermode="InteractiveServer"` gibi tek satırla değiştirilebiliyor.
  • Interactive Server en hızlı etkileşimi verir ama her kullanıcı için sunucuda circuit state'i tutar ve bağlantı kopunca UI durur.
  • Interactive WebAssembly client kodunda sır tutmaz; connection string ve API anahtarları bir API arkasında kalmalı.
  • Auto, component ilk yüklendiğinde karar verir ve oturum ortasında mode değiştirmez; server-only bağımlılıklar kullanamazsınız.
  • WebAssembly ve Auto kullanan component'ler `.Client` ile biten ayrı bir projede yaşamak zorunda ve prerendering varsayılan olarak açık.
  • Blazor Hybrid, WebAssembly ve SignalR olmadan Razor component'lerini MAUI içindeki BlazorWebView ile native uygulamada çalıştırır.

"Blazor Server" ve "Blazor WebAssembly" ayrı proje tipleri geride kaldı: .NET 8'den beri tek bir Blazor Web App, her component için `@rendermode` directive'iyle çalışma yerini seçiyor. Interactive Server component'i sunucuda çalıştırıp tarayıcıya SignalR üzerinden bir circuit açar; indirilen boyut küçüktür ve veritabanına doğrudan erişilir, ama her etkileşim ağ gidiş-dönüşü gerektirir ve her aktif circuit bellekte state tutar. Interactive WebAssembly ise runtime ve bundle'ı indirip C#'ı tarayıcıda çalıştırır; çevrimdışı ve CDN senaryolarına uyar, fakat ilk yükleme yavaştır ve client kodunda hiçbir şey gizli kalmaz. Interactive Auto ilk ziyarette Server ile başlayıp arka planda WASM'ı indirir; seçim component ilk yüklendiğinde verilir ve kod iki ortamda da çalışmalıdır. Etkileşim gerektirmeyen sayfalar için Static SSR en ucuz seçenek; .NET 11'de form doğrulaması ve QuickGrid paging/sorting tarayıcıda ve URL üzerinden yapılabilecek. Masaüstü veya mobil uygulamalar için BlazorWebView tabanlı Hybrid devreye giriyor.

Gerçek dünyada kullanımı

  • Sunucuya yakın kullanıcıların kullandığı, veritabanına doğrudan erişmesi gereken iç admin paneli (Interactive Server)
  • Çevrimdışı çalışması ve CDN üzerinden statik dağıtılması gereken saha ekipleri PWA'sı (Interactive WebAssembly)
  • İlk açılışta hızlı görünüp zamanla sunucu yükünü azaltması istenen genel amaçlı SaaS dashboard'u (Interactive Auto)
  • SEO'ya önem veren pazarlama ve dokümantasyon sayfaları, araya tek bir interaktif component eklenerek (Static SSR)
  • Web becerileriyle Windows, macOS, iOS ve Android'e dağıtılan kurulabilir masaüstü uygulaması (Blazor Hybrid)

Neden önemli

Render mode seçimi mimariyi belirliyor: Server seçen maliyeti ve ölçeklemeyi sunucuda, WebAssembly seçen ise ilk yükleme süresini ve client'ta hiçbir sır tutulmamasını kabul eder; karar proje oluştururken değil component bazında verildiği için sonradan değiştirmek de kolay.

Bu özet, Khalid Abuhakmeh üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü