In questa serie di articoli andremo a conoscere ASP.NET Core Blazor, creeremo un’applicazione di accesso ai dati e vedremo come si evolverà nel tempo questo nuovo framework proposto da Microsoft per lo sviluppo di Single Page Application e non solo…

Blazor è un framework per la realizzazione di applicazioni web interattive.

Fa parte di ASP.NET Core e permette di creare interfacce utente utilizzando il linguaggio C#, HTML e CSS.

Le interfacce utente sono costituite dai componenti Razor. Un componente Razor è un blocco di interfaccia utente (UI) autonomo, ad esempio una pagina, una finestra di dialogo o un form.

I componenti Razor includono il markup HTML e la logica di elaborazione necessaria per inserire i dati o rispondere agli eventi dell’interfaccia utente. I componenti utilizzano la sintassi Razor e sono flessibili e leggeri. Possono essere annidati, riutilizzati e condivisi tra i progetti.

Blazor offre due hosting model differenti: Blazor Server e Blazor WebAssembly.

Blazor Server

Con Blazor Server il codice viene elaborato sul server.

Quando l’utente interagisce con l’interfaccia, il client invia un messaggio al server per notificare l’avvenuta azione (ad esempio: il click su un pulsante). A questo punto, il server reagisce all’interazione del client elaborando il codice e determinando quali cambiamenti devono essere apportati all’interfaccia utente. I cambiamenti vengono notificati al client tramite una connessione SignalR che trasmette gli aggiornamenti da eseguire al DOM (Document Object Model).

Blazor WebAssembly

Con Blazor WebAssembly l’applicazione viene eseguita direttamente nel browser.

Gli aggiornamenti dell’interfaccia utente e la gestione degli eventi si verificano nello stesso processo. Il codice Blazor, le relative dipendenze e il Runtime .NET vengono scaricati nel browser. Le risorse utilizzate dall’applicazione (immagini, pulsanti, ecc.) vengono distribuite come file statici in un server Web o in un servizio in grado di servire contenuto statico ai client.

C’è da tener presente che Blazor Server è già supportato sin da ASP.NET Core 3,0 mentre Blazor WebAssembly è in anteprima per ASP.NET Core 3,1.

Si conclude qui la parte introduttiva sui due modelli di hosting di ASP.NET Core Blazor. Nell’articolo “Blazor Server: sviluppare una SPA con accesso ai dati” andremo a creare un’applicazione di esempio con accesso ai dati per vedere in dettaglio il funzionamento delle applicazioni Blazor Server.