Blog Dla Młodszych Programistów C#/.NET

sobota, 19 października 2024

Drugi model hostowania w Blazor to tzw. Blazor WebAssembly w skrócie WASM. Początkowo Blazor udostępniał tylko te 2 modele, ale od .NET 8 jeszcze to usprawnił i dodał kolejne. W tym artykule przybliżę Ci właśnie Blazor WebAssembly.

Wprowadzenie do Blazor WebAssembly (WASM)

Wprowadzenie


Jeżeli chodzi o Blazor WebAssembly, to jest typowa aplikacja SPA, gdzie cały kod aplikacji jest pobierany przy pierwszym połączeniu z serwerem. Stąd to pierwsze połączeniu będzie trochę dłuższe, a kolejne bedą już bardzo szybkie. Możemy sobie tutaj również przeanalizować wady i zalety tego rozwiązania.


Wady


Zacznijmy od wad:

Aplikacja ma większy rozmiar stąd dłużej trzeba oczekiwać na pierwsze połączenie. Ponadto trzeba jeszcze pobrać WebAssembly, stąd jeżeli w ogóle pierwszy raz jesteś na danej stronie, to kilka sekund może potrwać, aż wszystko zostanie pobrane. To jest taka największa wada WebAssembly. Natomiast w większości przypadków nie będzie to jakiś duży problem, w tym momencie możesz wyświetlić jakiś ładny spinner, tak żeby użytkownik wiedział, że musi zaczekać sekundę, czy 2 na połączenie. Mało tego od .NET 8 zostało to poprawione i pokaże Ci w kolejnych materiałach, jak sobie z tym radzić, by w ogóle nie było to problemem.

Druga wada, to brak kompatybilność z niektórymi starszymi przeglądarkami. Przeglądarki muszą obsługiwać WebAssembly, co tak jak mówię może być problemem dla niektórych starych przeglądarek. W dobrych przeglądarkach takich jaki chrome, firefox, edge, opera - nie będzie to problemem. W tych przeglądarkach już od dawna jest to wspierane. Problem może pojawić się np. w starszych wersjach internet explorer, ale tam zawsze są jakieś problemy.

Aplikacja głównie działa po stronie klienta, stąd zużywają więcej zasobów klienta, takich jak pamięć, procesor niż aplikacje serwerowe.

Musisz mieć tutaj też na uwadze, żeby nie udostępniać użytkownikowi jakichś tajnych danych, haseł itd., ponieważ kod aplikacji pobierany jest do klienta. Natomiast pokaże Ci, jak w takim przypadku projektować aplikację, tak żeby nie był to żaden problem. Będziemy tutaj wykorzystywać Web Api, tak jak to się robi w przypadku aplikacji SPA. Także nie masz się tutaj czego obawiać.


Zalety


Przejdźmy teraz do zalet Blazor WebAssembly:

Aplikacja działa w przeglądarce, stąd będzie działać płynnie i bardzo szybko po pierwszym uruchomieniu. Także tutaj nie ma żadnych opóźnień i wszystko jest bardzo przyjazne użytkownikowi. Używanie takiej aplikacji to sama przyjemność.

W związku z tym, że aplikacja działa po stronie przeglądarki, to mamy mniejsze obciążenie naszego serwera.

Aplikacja może działać również w trybie offline. Także jeżeli chcesz tworzyć progresywne aplikacje webowe (PWA), to również możesz je tworzyć w Blazor WebAssembly.


Podsumowanie


Jeżeli chodzi o moje doświadczenia. To tworzyłem aplikacje zarówno w Blazor Server i Blazor WebAssembly. Wiadomo, że każda z tych aplikacji nada się trochę mniej lub bardziej do innego rodzaju aplikacji i trzeba to dostosować pod wymagania klienta. Natomiast, jeżeli miałbym do wyboru tylko te 2 modele, to bardziej polecałbym Ci Blazor WebAssembly, ponieważ mimo wolniejszego tego pierwszego wczytania aplikacji, później aplikacja działa już bardzo płynnie, co jest bardzo ważne dla użytkowników. Natomiast Blazor Server trochę moim zdaniem tutaj kuleje, ale tak jak wspominałem, pokaże Ci, jak sobie z tymi problemami poradzić i tworzyć aplikacje, które zadowolą każdego klienta.


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).

Autor artykułu:
Kazimierz Szpin
Kazimierz Szpin
Programista C#/.NET. Specjalizuje się w ASP.NET Core, ASP.NET MVC, ASP.NET Web API, Blazor, WPF oraz Windows Forms.
Autor bloga ModestProgrammer.pl
Dodaj komentarz

Wyszukiwarka

© Copyright 2024 modestprogrammer.pl. Wszelkie prawa zastrzeżone. Regulamin. Polityka prywatności. Design by Kazimierz Szpin