encyklopedia.space

Blazor

Blazor to nowoczesny framework opracowany przez Microsoft, umożliwiający tworzenie interaktywnych aplikacji internetowych przy użyciu języka C# oraz technologii WebAssembly. Nazwa pochodzi od połączenia słów Browser i Razor, co odzwierciedla integrację platformy przeglądarkowej z silnikiem szablonów Razor.

Historia

Projekt Blazor został po raz pierwszy zaprezentowany publicznie w 2018 roku podczas konferencji Microsoft Build. Pierwsza wersja beta ukazała się w 2019 roku, a stabilna wersja 1.0 została wydana w 2020 roku. Od tego czasu framework jest systematycznie rozwijany, a kolejne wersje (2.x, 3.x, 5.x, 6.x, 7.x) wprowadzają nowe funkcje i usprawnienia.

Architektura

Blazor oferuje dwa podstawowe modele uruchamiania aplikacji:

  • Blazor Server – kod aplikacji jest wykonywany na serwerze, a interakcja z przeglądarką odbywa się przez połączenie SignalR. Dzięki temu aplikacja ma dostęp do pełnego środowiska .NET, a rozmiar pobieranych zasobów jest niewielki.
  • Blazor WebAssembly (Blazor WASM) – aplikacja jest kompilowana do WebAssembly i uruchamiana bezpośrednio w przeglądarce. Pozwala to na pełne wykorzystanie C# po stronie klienta, bez konieczności utrzymywania stałego połączenia z serwerem.

Podstawowe elementy

Komponenty

Podstawową jednostką budowy w Blazorze są komponenty. Są one definiowane jako pliki .razor i łączą markup HTML z kodem w C#. Przykładowy komponent może wyglądać tak:

@page "/counter"
<h3>Licznik</h3>

<p>Aktualna wartość: @currentCount</p>

<button class="btn btn-primary" @onclick="IncrementCount">Zwiększ</button>

@code {
    private int currentCount = 0;

    private void IncrementCount()
    {
        currentCount++;
    }
}

Razor

Blazor wykorzystuje składnię Razor, która umożliwia mieszanie kodu C# i HTML w jednym pliku. Dzięki temu twórcy mogą tworzyć interaktywne interfejsy użytkownika w sposób deklaratywny.

Dependency Injection

Framework wspiera wbudowany mechanizm dependency injection, pozwalający na łatwe zarządzanie zależnościami pomiędzy komponentami oraz usługami.

Powiązania z innymi technologiami

  • ASP.NET Core – podstawowa platforma hostująca aplikacje Blazor, zapewniająca serwowanie plików statycznych, routowanie i middleware.
  • Entity Framework Core – popularna biblioteka ORM, często używana w aplikacjach Blazor Server do komunikacji z bazą danych.
  • SignalR – technologia wykorzystywana w modelu Blazor Server do dwukierunkowej komunikacji w czasie rzeczywistym.
  • HTML5, CSS3 oraz JavaScript – standardowe technologie front‑end, z którymi Blazor współdziała; w razie potrzeby można używać interoperacyjności z JavaScript (JS Interop).

Zastosowania

Blazor znajduje zastosowanie w różnych typach projektów:

  • Intranetowe aplikacje biznesowe, gdzie wymagana jest szybka prototypizacja i spójny stack technologiczny.
  • Publiczne portale internetowe, które korzystają z modelu Blazor WebAssembly, aby zmniejszyć obciążenie serwera.
  • Systemy hybrydowe, łączące elementy PWA z możliwością działania offline.
  • Rozwiązania IoT i urządzenia brzegowe, które dzięki WebAssembly mogą działać w ograniczonych środowiskach.

Przyszłość i rozwój

Microsoft stale rozwija Blazora, wprowadzając m.in. wsparcie dla Hot Reload, ulepszone narzędzia diagnostyczne oraz optymalizacje wydajności w WebAssembly. Społeczność open‑source aktywnie przyczynia się do rozwoju, tworząc komponenty UI (MudBlazor, Radzen) oraz biblioteki ułatwiające integrację z istniejącymi systemami.

Literatura i zasoby

Do dalszej lektury i pogłębienia wiedzy na temat Blazora zaleca się:

Powiązane pojęcia

C# | WebAssembly | ASP.NET Core | Razor | SignalR | PWA