Blazor
Blazor to framework webowy Microsoftu, będący częścią platformy ASP.NET Core, który umożliwia tworzenie interaktywnych interfejsów użytkownika w języku C# — zamiast w JavaScripcie. Logika komponentów, obsługa zdarzeń i wiązanie danych powstają w jednym języku i jednym ekosystemie .NET, co jest szczególnie atrakcyjne dla zespołów mających już kompetencje backendowe w C#.
Jak działa Blazor
Blazor opiera się na modelu komponentowym: interfejs składa się z komponentów Razor (pliki .razor), które łączą znaczniki HTML z kodem C#. Framework oferuje kilka trybów renderowania:
- Blazor WebAssembly — aplikacja wraz z odchudzonym środowiskiem uruchomieniowym .NET jest pobierana do przeglądarki i wykonywana lokalnie dzięki WebAssembly. Powstaje klasyczna aplikacja typu SPA, działająca po stronie klienta.
- Blazor Server — komponenty wykonują się na serwerze, a przeglądarka otrzymuje jedynie różnice w drzewie DOM przesyłane w czasie rzeczywistym przez SignalR (WebSockets).
- Tryby hybrydowe — od .NET 8 można mieszać renderowanie serwerowe i klienckie per komponent, a Blazor Hybrid osadza komponenty w aplikacjach desktopowych i mobilnych (MAUI).
Zastosowanie w praktyce
Blazor najlepiej sprawdza się w aplikacjach biznesowych: panelach administracyjnych, systemach ERP/CRM, intranetach i dashboardach, gdzie zespół zna C#, a spójność technologiczna między frontendem i backendem obniża koszty utrzymania. Tryb WebAssembly wybiera się dla aplikacji, które mają działać offline lub odciążać serwer, natomiast Blazor Server — gdy liczy się krótki czas pierwszego uruchomienia i pełna kontrola po stronie serwera.
Od strony infrastruktury aplikacje Blazor Server wymagają hostingu obsługującego stałe połączenia WebSocket i środowisko .NET, dlatego często trafiają na serwery VPS lub dedykowane z systemem Linux bądź Windows. Blazor WebAssembly można z kolei serwować jak zwykłe pliki statyczne — wystarczy dowolny serwer HTTP lub CDN, a API działa jako osobna usługa. Wadą trybu klienckiego pozostaje rozmiar początkowego pobrania (środowisko .NET), który Microsoft sukcesywnie redukuje przez trimming i kompresję.
Powiązane pojęcia
Najczęstsze pytania
Czym różni się Blazor WebAssembly od Blazor Server?
Blazor WebAssembly pobiera aplikację i środowisko .NET do przeglądarki i wykonuje kod lokalnie, więc działa nawet przy chwilowej utracie połączenia. Blazor Server wykonuje kod na serwerze, a do przeglądarki przesyła tylko różnice w interfejsie przez SignalR — start jest szybszy, ale każda interakcja wymaga stałego połączenia.
