Blazor w praktyce

0

Cześć,
zacząłem interesować się Blazor-em? Obecnie wszyscy fascynują się wersją WASM, ale osobiście mam wątpliwości czy wersja Server nie jest bardziej praktyczna? Co wy na to? Szczególnie jeśli tworzymy stronę, której główną funkcją jest wyświetlanie danych z bazy. Wydaje mi się, że nawet sklepy internetowe nie wymagają tych korzyści płynących z wasm-a. Dlaczego więc tak głośno jest o wersji wasm?

Dodatkowo wszyscy piszą o zaletach Blazora, a ja się zastanawiam jakie są waszym zdaniem przewagi zwykłego MVC (core) nad Blazorem? Da się to w ogóle jakoś sensownie porównać?

Przy okazji mam pytanie związane z wasm. Z tego co się orientuję to obecnie główny problem wynika z konieczności przesyłania do klienta pliku mono, które troszkę waży. Moje pytanie jest takie czy mono przesyłane jest za każdym razem, gdy wchodzimy na stronę czy jest to gdzieś zapisywane / cache-owane i wejście na stronę następnego dnia nie będzie wymagać ponownego wysłania/pobrania tego pliku??

z góry dzięki za wasze odpowiedzi.

2

Przewagą blazora nad całą resztą jest brak JS co mnie przekonuje.

1
Kofcio napisał(a):

Dodatkowo wszyscy piszą o zaletach Blazora, a ja się zastanawiam jakie są waszym zdaniem przewagi zwykłego MVC (core) nad Blazorem? Da się to w ogóle jakoś sensownie porównać?

Nie da się. Bardziej pasujące porównanie byłoby: Single Page Application vs Multi Page Application albo jeśli już zdecydujemy się na SPA to: Blazor vs Angular vs React vs xxx.

Edit: To jakbyś próbował porównać Mercedesa S klasę z Yamahą R1. Najpierw trzeba wybrać czy się chce jeździć autem czy motocyklem a potem markę i model.

1

Odnośnie sklepu w Blazor Serwer to trochę bałbym się o SEO. W tym trybie przez sieć latają części HTMLa odrenderowywane po stronie serwera, nawet jeśli przechodzi się pomiędzy podstronami klikając w linki. Nie wiem jak roboty otwierają odnośniki, jeżeli wykonują zupełnie nowe żądanie http to w sumie powinny jednak dostać pełny dokument html i to powinno działać dobrze.
Blazor Serwer ma tą zaletę, że skoro przesyła HTML to nie ma możliwości, że serwer odeśle przypadkiem jakieś poufne dane - jest bezpieczniejszy. Po drugie trochę łatwiejszy bo wywołuje się bezpośrednio metody backendu, nie trzeba myśleć o serializacji/deserializacji przesyłanych DTO, pisaniu końcówek REST czy kontrolerów MVC. Ale trzeba uważać np. z bindowaniem zdarzeń typu onmousemove czy oninput, bo wszystko to poleci strumieniem do serwera i z powrotem.
W całym tym Blazorze najlepsze jest pozbycie się konieczności utrzymywania osobnego projektu Node, zależności, konfiguracji projektu, procesu budowania itd.

1

@student pro:

Blazor Serwer ma tą zaletę, że skoro przesyła HTML to nie ma możliwości, że serwer odeśle przypadkiem jakieś poufne dane - jest bezpieczniejszy.

masz rację, niemniej jednak czy takie zmartwienie nie wynika w dużej mierze z tego, że ktoś całe encje wyrzuca na "widok"?

Wydaje mi się, że od tego są mapowania pomiędzy ""warstwami"", aby takich sytuacji unikać.

0

Hello World w Blazorze dalej waży kilka megabajtów? Czy może już z tym sobie poradzili?

blazor.jpg

0
WeiXiao napisał(a):

@student pro:

Blazor Serwer ma tą zaletę, że skoro przesyła HTML to nie ma możliwości, że serwer odeśle przypadkiem jakieś poufne dane - jest bezpieczniejszy.

masz rację, niemniej jednak czy takie zmartwienie nie wynika w dużej mierze z tego, że ktoś całe encje wyrzuca na "widok"?

Wydaje mi się, że od tego są mapowania pomiędzy ""warstwami"", aby takich sytuacji unikać.

Nie zawsze się chce :P

@Wibowit - Blazor Webassembly jest kobylasty w stosunku do innych frameworków ale prawdę mówiąc dla mnie to nie problem. No i Blazor Server to SSR więc ten waży prawie zero, oprócz może jakichś kilku pliczków JS. Najważniejsze jest to że w tym się po prostu fajnie programuje, a z dysku znika cały node_modules :)

3
student pro napisał(a):

@Wibowit - Blazor Webassembly jest kobylasty w stosunku do innych frameworków ale prawdę mówiąc dla mnie to nie problem.

Dla Ciebie nie, dla kogoś kto używa internetu mobilnego, szczególnie w trasie / terenie gdzie najbliższy nadajnik postawili Niemcy i nie zdążyli wysadzić... :D

0

Blazor Server oznacza (z tego co wiem) konieczność uderzania do serwera po każdym kliknięciu przycisku (oprócz tych co nie zmieniają stanu strony, np ściąganie pliku), bo teraz wszystkie aktualizacje stanu przechodzą przez serwer. To też średniawe rozwiązanie z punktu widzenia użytkownika, aczkolwiek nadal lepsze niż ładowanie megabajtów na starcie. Z punktu widzenia programisty oznacza to trzymanie całej sesji (całego stanu frontendu) na serwerze (o ile dobrze rozumiem sposób działania Blazor Server) przez co proces serwera może łatwo spuchnąć i RAMu może zacząć brakować.

1 użytkowników online, w tym zalogowanych: 0, gości: 1