W Blazor'ze możesz tworzyć różne typy aplikacji, które można rozdzielić na podstawie modelu hostowania. Pierwszym typem jest Blazor Server oparty na SignalR. W tym artykule przybliżę Ci ten temat.
Wprowadzenie
W Blazor Server wszystko wykonywane jest na serwerze aplikacji ASP.NET Core. Czyli kod aplikacji, logika aplikacji jest na serwerze. A wszystkie aktualizacje w kliencie, czyli w przeglądarce - są obsługiwane przy użyciu SignalR za pomocą Web Socketów. Czyli wygląda to tak, że przy pierwszym uruchomieniu aplikacji pobierasz sobie aplikacje w okrojonym rozmiarze, nie pobierasz całej aplikacji tak jak w przypadku wersji Web Assembly i tutaj następnie wszystkie interakcje użytkownika są wysyłane do serwera za pomocą Web Socketów, na które przychodzi zwrot z serwera i następuje aktualizacja strony internetowej. Takie rozwiązanie ma swoje wady i zalety.
Wady
Jeżeli chodzi o wady to:
Wolniejszy tryb działania aplikacji. Każda odpowiedz przychodzi z serwera przez SignalR, w związku z czym można zauważyć lekkie opóźnienia na każde żądanie, co czasem może być uciążliwe.
Druga wada to problemy ze skalowalnością. Jeżeli będziesz miał dużo użytkowników na stronie internetowej i każdy będzie komunikował się cały czas z serwerem przez SignalR, to niestety może to obciążyć serwer i tutaj przy bardzo dużej ilości użytkowników mogą pojawić się problemy. Także przy większej ilości użytkowników musiałbyś mieć po prosty większy, lepszy serwer.
Zalety
Jeżeli chodzi o zalety:
To w tym trybie rozmiar pobierania aplikacji jest dużo mniejszy niż w przypadku Web Assembly, także to pierwsze połączeniu będzie szybsze.
Aplikacja korzysta z zasobów serwera, także mamy tutaj wszystkie zabezpieczenia po stronie serwera. Możemy bez problemu korzystać z różnych bibliotek po stronie serwera. Kod nie jest udostępniany dla klienta.
Małe wymagania jeżeli chodzi o przeglądarki. Aplikacja Blazor Server będzie działać bez zarzutu na większości przeglądarek wliczając w to starsze wersje.
To tyle jeżeli chodzi o pierwszy model hostowania, a w kolejnym artykule wprowadzę Cię do Blazor WebAssembly.
Szkoła Blazora
Przy okazji, jeżeli chciałbyś poznać Blazor'a od podszewki, to rozważ dołączenie do mojego szkolenia online - Szkoła Blazora (tutaj więcej informacji - https://szkolablazora.pl).