Blazor w praktyce

Odpowiedz Nowy wątek
2020-09-16 10:55

Rejestracja: 6 lat temu

Ostatnio: 45 sekund temu

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.

Pozostało 580 znaków

2020-09-16 11:28

Rejestracja: 1 rok temu

Ostatnio: 5 godzin temu

2

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

Pozostało 580 znaków

2020-09-16 11:54

Rejestracja: 7 miesięcy temu

Ostatnio: 6 godzin temu

Lokalizacja: Kraków

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.

edytowany 1x, ostatnio: maszrum, 2020-09-16 12:04

Pozostało 580 znaków

2020-09-25 03:49

Rejestracja: 4 lata temu

Ostatnio: 11 godzin temu

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.

edytowany 2x, ostatnio: student pro, 2020-09-25 03:52

Pozostało 580 znaków

2020-09-25 16:41

Rejestracja: 4 lata temu

Ostatnio: 2 godziny temu

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

edytowany 2x, ostatnio: WeiXiao, 2020-09-25 16:41

Pozostało 580 znaków

2020-09-25 18:06

Rejestracja: 15 lat temu

Ostatnio: 6 godzin temu

0

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

blazor.jpg


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
Chyba ciągle waży z 2 MB. - some_ONE 2020-09-26 13:34

Pozostało 580 znaków

2020-09-28 15:12

Rejestracja: 4 lata temu

Ostatnio: 11 godzin temu

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

Pozostało 580 znaków

2020-09-28 15:29

Rejestracja: 2 lata temu

Ostatnio: 5 godzin temu

Lokalizacja: Kraków

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


Nie znam się, ale się wypowiem
No chyba nie o to mu się rozchodziło wnioskując po kolejnym zdaniu: No i Blazor Server to SSR więc ten waży prawie zero, oprócz może jakichś kilku pliczków JS - UglyMan 2020-09-28 15:33

Pozostało 580 znaków

2020-09-28 15:51

Rejestracja: 15 lat temu

Ostatnio: 6 godzin temu

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


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 1x, ostatnio: Wibowit, 2020-09-28 15:52
Zależy co rozumiesz przez uderzać. - WeiXiao 2020-09-28 16:40
Wysyłać (a potem odbierać) dane. - Wibowit 2020-09-28 16:44
Chodzi mi o ciągłość, przy server side Blazor jest to websocket. - WeiXiao 2020-09-28 16:46
WebSocket to jakiś plus. Zwykłe HTTP też ma ciągłość dzięki keep-alive: https://en.wikipedia.org/wiki/HTTP_persistent_connection ale ma narzut na każde żądanie (trzeba wysyłać nagłówki od nowa). - Wibowit 2020-09-28 16:52

Pozostało 580 znaków

Odpowiedz

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