Wpis z mikrobloga

Powiem Wam, że ludzie zazwyczaj się jarają tym Blazor WASM, a ja teraz robię intranetowego CRUDa w Blazor Server i on jest według mnie niedoceniany. Użyłem go bo potrzebowałem Windows Authentication, a w Blazor Server jest on out of the box, ale nawet mimo tego apki tworzy się w nim mega szybko. Krótko pisząc zdarzenia frontendu są obsługiwane odrazu na backendzie, framework ukrywa całą komunikację. Z obsługi zdarzenia onClick można odrazu walić do bazy, zaktualizować sobie zmienne i framework automatycznie odrysuje frontend. Odrenderowywanie fragmentów htmla na backendzie i odsyłanie go do frontendu brzmi strzasznie, ale w praktyce działa to wszystko świetnie.
#dotnet
  • 6
@nunczako Możesz coś powiedzieć więcej o Blazorze? Robiłem kiedyś research na jego temat, bo szukałem właśnie jakiegoś narzędzia do prywatnych projekcików, które będzie robiło się w miarę szybko i trafiłem na Blazora. Opinie były takie: WASM niby spoko, ale initial load tragiczny, potrafi trwać nawet kilkanaście sekund, co z automatu go praktycznie przekreśla. Server szybki initial load, bo to nie SPA, ale brakuje właśnie benefitów, które są w SPA. Połączenie front <>
Jak chcesz wystawiać API to wybrałbym Blazor WASM- tam robisz manualne zapytania do backendu, Blazor Server jest właśnie po to żeby nie musieć tego robić- wtedy komunikację realizuje framework właśnie za pomocą SignalR, czyli domyślnie przez websocket albo jeśli połączenia websocket nie można nawiązać to robi fallback do tzw. long polling (dziadostwo). Ten initial load to trzeba samemu sprawdzić, na pewno będzie dużo dłuższy niż dla frameworków JS, ale kilkanaście sekund to
@nunczako: Ja właśnie myślałem bardziej o własnych appkach, które gdzieś można wystawić, czyli publiczne. W intranetowych to faktycznie ten czas ładowania schodzi na drugi plan. Ja głównie pracuję na backendzie (Java/C#) z okazjonalnym WPF'em, więc dla mnie im prostszy front tym lepiej :)
@jaszczomp_glapczajld: Tak sobie potestowałem tą przykładową aplikację Blazor WASM z szablonu ("Weather app"). Publishnąłem ją lokalnie w trybie Release. Przeglądarka pokazała ściągnięcie 2.2MB danych w sumie, odpalenie było natychmiastowe.
@nunczako Jakieś proste, lekkie appki pewnie się ładują mega szybko, ale dorzucisz parę assetów, trochę stronę rozbudujesz i ponoć bardzo szybko ten rozmiar rośnie. Teraz w dobie mobilek to nie wyobrażam sobie użytkownika, który na mobilnym necie ściąga paczkę kilkadziesiąt mega żeby w ogóle wyświetlić stronę :) Kiedyś jak czytałem o Blazorze to były pomysły, żeby WASM połączyć z Server i zrobić z tego hybrydę w taki sposób, że na starcie działa
@nunczako @jaszczomp_glapczajld
Zgadzam się że w Blazor serwer pisze się bardzo przyjemnie. load time nie jest jakiś przerażający, zależy jak dużo kodu bo to on jest ściągany, obrazki i inne są dociagane w trakcie działania. Rzeczywiście eventy są automatycznie przesyłane na backend a zamiany w UI na front no i tu jest największy problem.
jak robiłem https://jakipit.pl
to zacząłem od Blazor serwer ale aplikacja była mało responsywna przy słabszym połączeniu, przy zaznaczeniu