Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Blazor Nedir? Blazor Web App, Render Mode'lar ve Angular/MVC Karşısında Ne Zaman Seçilir
Blazor, interaktif web arayüzünü C# ve Razor component'leriyle yazmanı sağlar ve .NET 8'den beri her component'in nerede çalışacağını render mode belirler: Static SSR, Interactive Server, Interactive WebAssembly ya da Auto. Aynı component'i dört modda yan yana çalıştırıp prerender çıktısını, SignalR circuit'ini, ilk ziyarette inen 2,2 MB'ı ve Bookstore yönetim paneli için Blazor ile Angular arasındaki kararı gerçek ölçümlerle gösteriyoruz.
Render Mode'lar Derinlemesine: Static SSR, InteractiveServer, InteractiveWebAssembly, InteractiveAuto ve Prerendering
Render mode component tanımında, kullanıldığı yerde ya da tüm uygulama için verilir, alt component'lere yayılır ve interaktif bir component'in içinde başka bir interaktif moda geçilemez; Static parent'tan giden parametreler JSON'a serileştirilip HTML'e yazılır. Bookstore paneline WebAssembly'de çalışan bir teklif hesaplayıcısı ekleyip ChildContent hatasını, sessizce kaybolan EventCallback'i, prerender'ı kapatmayı ve .Client'a konan her şeyin tarayıcıda göründüğünü gerçek çıktılarla gösteriyoruz.
Blazor'u Production'a Taşımak: WASM Boyutu, Trimming, AOT, Circuit Kaynakları, Reconnection UI ve Hosting
Blazor'u production'a taşırken iki maliyet ölçülür: WebAssembly'de ilk ziyarette inen veri (Bookstore panelinde 2,3 MB, AOT ile 4,3 MB ama CPU işinde yaklaşık altı kat hızlı) ve Server'da circuit başına bellek (stok sayfasında yaklaşık 800 KB, kapanan sekme üç dakika bellekte). Yazıda trimming ve relinking, fingerprint'li cache, CircuitOptions, ReconnectModal, nonce'lu Content Security Policy ve Nginx arkasında WebSocket ayarı gerçek ölçümlerle.