Od chwili kiedy Microsoft zapowiedział Blazor wielu developerów zadawało sobie pytanie, kiedy? Odpowiedź była tylko jedna Soon, it’s not ready yet. Ale teraz już jest ready.

Blazor został zaprezentowany w dwóch wersjach. W wersji server side rendering jak i w wersji WebAssembly, która wzbudziła więcej emocji i na którą przyszło nam czekać ponad rok.
Server side rendering dostępne jako Blazor Server App dostępne było już w wersji .Net Core 3.0, na wersję WebAssembly musieliśmy czekać do maja 2020 roku, na wersję .Net Core 3.1.

Jakie są różnice między tymi wersjami?
Jak sama nazwa wskazuje, Blazor Server App jest renderowane po stronie serwera, a widok w przeglądarce jest aktualizowany poprzez połączenie SignalR, które ciągle dosyła zmiany widoku strony. W WebAssembly kod jest wykonywany w całości w naszej przeglądarce. I nie, nasza aplikacja nie jest skompilowana do WebAssembly, runtime jest. I jest nim Mono.

Kiedy wybrać WebAssembly a kiedy Blazor Server App?
Kiedy nie chcemy, lub nie możemy wypuścić naszego kodu poza serwer użyjemy Blazor Server App. Również nie musimy tworzyć warstwy api, możemy bezpośrednio pobierać dane z bazy danych nie udostępniając komuś danych dostępowych.
Jeżeli nasza aplikacja ma skomplikowaną warstwę prezentacji, naszych użytkowników jest wielu a nie chcemy wydawać za dużo na serwery wybierzemy WebAssembly i przerzucimy większość tego obciążenia na użytkowników. W końcu to w ich przeglądarkach kod będzie się wykonywał. Tutaj stety/niestety konieczne będzie zaimplementowanie api.
Nie sprawdzałem wydajności rozwiązania serwerowego (może mały projekt?) więc powołam się na testy samego Microsoftu
O tutaj

Od czego zacząć?
Najlepiej od pobrania aktualnej wersji .Net Core i edytora. Tutaj mamy pewien wybór. Możemy użyć bardzo zaawansowanego IDE Visual Studio, które w wersji community (za darmo dla developerów indywidualnych i bardzo małych zespołów) powinno spełnić nasze oczekiwania. Możemy też użyć w pełni darmowego Visual Studio Code, które jest w pełni modułowe i zawiera wiele przydatnych rozszerzeń.

W następnym wpisie zobaczymy co oferuje Blazor Server App i napiszemy prostą aplikację.