Blazor: technologia WebAssembly w .NET

Programowanie w .NET daje programistom wiele możliwości w tworzeniu różnego rodzaju aplikacji, w tym webowych, desktopowych i na urządzenia mobilne. Jednakże, jeszcze do niedawna, tworzenie front-endu w aplikacjach webowych kojarzyło się głównie z użyciem rozwiązań związanych z JavaScript, takich jak Angular lub React. Ostatnio jednak pojawił się dość świeży framework, który może całkowicie zmienić ten obraz – mowa o Blazorze.

Blazor jest frameworkiem służącym do tworzenia interaktywnych, jednostronicowych aplikacji webowych (SPA), w którym się zakochałem. Czym jest SPA? To rodzaj aplikacji, w którym cała strona internetowa wczytuje się tylko raz, a zmiana treści na stronie odbywa się bez konieczności przeładowania całej strony. To zapewnia użytkownikowi płynniejsze i szybsze doświadczenie podczas przeglądania stron.

Cofnijmy się na chwilę

Pisząc aplikacje webowe opieramy się na standardach dostępnych w przeglądarce. Do 2019 roku były to trzy główne standardy:

  • HTML, czyli język znaczników do określenia szablonu strony
  • CSS do określenia wyglądu oraz
  • JavaScript = interakcje z użytkownikiem na stronie.

Ponieważ JavaScript nie był tworzony z myślą o wydajności,  potrzeba uruchamiania aplikacji multimedialnych (i gier ;)) w przeglądarkach wymusiła tworzenie kolejnych pluginów. Zapewniały one tę funkcjonalność, jednak przez brak ustandaryzowania oraz słabe security zostały one porzucone i niewspierane.

Potrzeba na rynku jednak ciągle istniała. W 2015 roku zaczęto pracę nad WebAssembly. WebAssembly (WASM) został oficjalnie czwartym standardem wspieranym przez przeglądarki w 2019 roku. WASM pozwala na kompilację kodu napisanego w różnych językach programowania, takich jak C++, Rust czy .NET, do postaci, która może być wykonywana bezpośrednio przez przeglądarkę. Oznacza to, że programiści mogą tworzyć aplikacje webowe, używając języków programowania, które są im już znane, a jednocześnie mogą uzyskać lepszą wydajność i mniejszy rozmiar kodu.

Blazor – SPA dla duszy .NET dewelopera?

Blazor, będąc frameworkiem opartym na .NET, wykorzystuje również technologię WebAssembly. Dzięki temu, programiści mogą tworzyć aplikacje webowe w języku C# z wykorzystaniem narzędzi i bibliotek, które już znają, bez potrzeby nauki nowych języków lub narzędzi. Blazor pozwala na tworzenie zarówno stron statycznych, jak i dynamicznych, z dostępem do bazy danych, z wykorzystaniem mechanizmów uwierzytelniania i autoryzacji, jak i wiele innych zaawansowanych funkcjonalności. Dzięki technologii WebAssembly, aplikacje Blazor są bardzo wydajne i szybkie.

Nie bez znaczenia jest również fakt, że Blazor jest w pełni zintegrowany z platformą .NET, co oznacza, że programiści mogą wykorzystywać znane doskonale Visual Studio, do tworzenia aplikacji webowych. Blazor został wprowadzony w 2018 roku. W 2023 nadal jednak zyskuje na popularności i zyskuje coraz większą liczbę zwolenników wśród programistów.

Podsumowując, Blazor to framework, który może całkowicie zmienić podejście do tworzenia front-endu w aplikacjach webowych, ponieważ pozwala programistom na tworzenie interaktywnych, jednostronicowych aplikacji webowych z użyciem języka C# i narzędzi .NET, a także dzięki technologii WebAssembly zapewnia wydajność i szybkość działania aplikacji. U mnie działa. 🙂

 

 Źródła – zdjęć:

Blazor now in official preview! – .NET Blog (microsoft.com)

WASM Tutorial (marcoselvatici.github.io)

Single Page Applications – Why they make sense -Digital Clarity Group