Innovativo framework di casa Microsoft, Blazor (Browser + Razor) nasce dall’esigenza di fornire agli sviluppatori .NET uno strumento per la realizzazione di single page applications aggirando le limitazioni di ASP.NET ed il rendering server-side delle pagine. Scopriamo tutti i plus.
Blazor, una prima panoramica
Grazie alle tecnologie WebAssembly e SignalR Blazor è in grado di fornire un rendering delle pagine in tempo reale (sia lato server che client) andando cosi a dare un’alternativa a JavaScript per gli sviluppatori dell’ecosistema .NET.
A differenza di Silverlight Blazor non necessita dell’installazione di un plugin da parte dell’utente in nessuna delle sue versioni; può in questo modo girare senza problemi anche su device Apple.
La versione Server aggiorna il browser in tempo reale tramite SIgnalR mentre quella Client sfrutta WebAssembly (presente in tutti i browser più diffusi). Vediamo ora le principali differenze fra i due principali modelli di funzionamento.
Blazor Server VS Blazor WebAssembly
Blazor Server
All’avvio dell’applicazione viene scaricato nel browser client del codice Javascript che avvia la connessione a due vie SignalR, la quale fornisce un dialogo real time fra server e client.
I pro sono subito chiari: è possibile sfruttare tutta la potenza del framework .NET Core senza limitazioni date dalla latenza o da incompatibilità coi browser, e non viene effettuato il download del codice nella macchina client.
I principali limiti sono l’assenza di funzionalità offline e l’elevato consumo di risorse lato server. Risulta quindi indicato per applicazioni interne e/o con un numero limitato di utenti attivi in contemporanea.
Blazor WebAssembly
Grazie ad una versione di MONO, Blazor può fornire al client direttamente le proprie dll. L’applicazione viene quindi completamente scaricata in locale annullando la necessità di effettuare chiamate ad un API e tagliando drasticamente i tempi di latenza.
I pregi principali di questo modello sono la distribuzione del carico di lavoro dal server ai vari client e la possibilità di lavorare offline.
D’altro canto il download completo dell’applicazione può rappresentare un ostacolo per chi non dispone di una connessione sufficientemente veloce.
Questa versione di Blazor si propone come alternativa ad Angular, Vue, Node ecc…
Compatibilità con MAUI
Nel tentativo di Microsoft di unificare il codice migliorando l’esperienza di sviluppo, anche Blazor va a contaminare il progetto MAUI permettendo di integrare componenti realizzate in Blazor all’interno di app Mobile e Desktop realizzate con MAUI.
Come utilizziamo Blazor in Softfour
Il nostro sviluppatore Marco Neè ha iniziato ad utilizzare Blazor Server unitamente a DevExpress per la realizzazione di semplici applicazioni interne. Ci stiamo trovando molto bene: lo sviluppo è rapido e risulta estremamente familiare per lo sviluppatore .NET, e DevExpress (di cui vi parleremo in un prossimo articolo) va ad occuparsi dell’interfaccia.
Vuoi migliorare il tuo applicativo? Sei una software house e hai bisogno di collaboratori specializzati che ti supportino in outsourcing? Contattaci senza impegno!