Blazor - frontend v C#
Moderná technológia pre webové aplikácie
🎥 Ak chceš rýchly úvod do Blazoru vo videu, pozri si video nižšie. Detailné vysvetlenie, porovnanie a príklady nájdeš priamo v tomto článku.
Blazor je relatívne nový framework vyvinutý spoločnosťou Microsoft, ktorý prináša revolúciu do tvorby webových aplikácií. Na rozdiel od tradičných prístupov, kde sa klientská logika píše prevažne v JavaScripte, Blazor umožňuje využívať jazyk C# na celý stack aplikácie, čo výrazne zjednodušuje prácu .NET vývojárom.
Čo je Blazor?
Blazor je open-source webový framework, ktorý umožňuje vytvárať interaktívne webové aplikácie s využitím jazyka C# namiesto JavaScriptu. Beží na platforme .NET a využíva technológiu WebAssembly, čo umožňuje spúšťanie aplikácií priamo v prehliadači.
Výhody Blazoru
- Použitie C# na celý stack – jednotný jazyk pre frontend aj backend.
- WebAssembly – aplikácia beží priamo v prehliadači bez serverovej logiky.
- Integrácia s .NET ekosystémom – Entity Framework, MediatR, Identity, ML.NET.
- Komponentový model – opätovne použiteľné UI komponenty.
Praktický mini-príklad: Blazor komponent
Jednoduchý komponent, ktorý zobrazí aktuálny čas:
@page "/hello"
<h3>Hello, Blazor!</h3>
<p>Aktuálny čas: @currentTime</p>
@code {
private string currentTime =
DateTime.Now.ToString("HH:mm:ss");
}
Takto vyzerá základný princíp Blazor komponentu – kombinácia HTML a C# v jednom súbore.
Blazor Server vs. Blazor WebAssembly
| Vlastnosť | Blazor Server | Blazor WebAssembly |
|---|---|---|
| Kde beží kód | Na serveri | V prehliadači |
| Offline režim | Nie | Áno |
| Rýchly štart | Áno | Pomalší (sťahovanie WASM) |
| Vhodné pre | Firemné aplikácie, intranety | SPA, offline aplikácie |
Blazor Server – beží na serveri
Blazor Server je hostingový model, v ktorom sa aplikácia vykonáva na serveri a UI aktualizácie sa posielajú do prehliadača cez SignalR. Klient spracúva len výsledné HTML a správy o udalostiach, zatiaľ čo skutočná logika beží na serveri.
- Rýchly štart – klient si nestahuje .NET runtime a veľké binárky.
- Malé nároky na klienta – ideálne pre zariadenia s nižším výkonom.
- Plný prístup k .NET API – serverová logika priamo dostupná.
Nevýhody: vyžaduje stále pripojenie na server, každý klient spotrebuje serverové zdroje.
Blazor WebAssembly – beží v prehliadači
Blazor WebAssembly (WASM) stiahne aplikáciu aj s .NET runtime do prehliadača a spúšťa ju priamo tam. Po stiahnutí aplikácia beží nezávisle od servera a interakcie s API prebiehajú cez HTTP volania. Tento model umožňuje offline režim a poskytuje plnú interaktivitu priamo v prehliadači.
- Offline podpora – aplikácia funguje aj bez aktívneho pripojenia.
- Plná interaktivita – všetko sa vykonáva lokálne v prehliadači.
- Nezávislosť od servera – server nemusí udržiavať spojenia.
Nevýhody: vyšší initial load kvôli stiahnutiu .NET runtime, obmedzený prístup k systémovým API.
Moderné kombinácie Blazor projektov
Od verzie .NET 8 môže projekt kombinovať oba modely: Server + WebAssembly. To znamená, že aplikácia môže mať pred-renderovaný obsah na serveri pre rýchly prvý render a SEO, a následne plnú interaktivitu vo WebAssembly v prehliadači. Tento mix prináša to najlepšie z oboch svetov – rýchlosť a efektivitu.
Kedy Blazor použiť (a kedy nie)
Blazor je vhodný, ak:
- vyvíjaš aplikáciu v .NET ekosystéme
- chceš zdieľať modely medzi frontendom a backendom
- preferuješ C# pred JavaScriptom
Blazor nie je ideálny, ak:
- potrebuješ extrémne malé JS balíčky
- aplikácia je veľmi jednoduchá (landing page)
Záver
Blazor predstavuje moderný spôsob vývoja webových aplikácií, ktorý spája svet backendu a frontendu do jedného technologického stacku. Pre .NET vývojárov ide o prirodzenú a efektívnu cestu, ako tvoriť moderné webové rozhrania.
👉 Ak chceš vidieť praktické ukážky a vysvetlenie v obraze, pozri si video vyššie – článok a video sa navzájom dopĺňajú.