Creazione di un progetto Blazor Web App

Un Blazor Web App è il progetto di un applicativo che funziona sul web fatto con Blazor, un framework sviluppato da Microsoft e disponibile su Visual Studio. Questo tipo di progetto permette di lavorare sia sulla parte client che su quella server usando un unico linguaggio di programmazione: il C#. Inoltre, mentre prima bisognava creare un progetto server e uno WebAssembly separatamente, è possibile specificare il tipo di app che si vuole creare.

La creazione di un progetto Blazor Web App realizza la creazione di due progetti collegati: una WebAssembly per la gestione del frontend e il Blazor Server per interagire con un database e la gestione delle API. In questo modo è possibile creare dei siti dinamici.

Nonostante questi vantaggi, è necessario che il progetto si trovi su un hosting che supporti l’ultima versione di .NET. Attualmente i progetti vengono creati con la versione 8.0. Un’alternativa è quella di installare .NET su un server Linux.

Per creare un progetto è necessario avere installato Visual Studio e la parte relativa lo sviluppo web. Poi aprendo il programma bisogna cliccare su Crea Nuovo Progetto e digitare Blazor nella casella di ricerca o selezionare la relativa voce nella lista.

Il prossimo passaggio richiede l’assegnazione di un nome e il percorso su dove conservare il progetto.

Il terzo passaggio richiede la selezione di alcune impostazioni:

  • Framework: la versione .NET che farà partire e gestirà l’applicativo;
  • Autenticazione: Possiamo decidere di fare gestire a .NET l’autenticazione con un sistema di account individuali bastato su Identity provvedendo la possibilità di registrarsi, accedere, recuperare e gestire il proprio account.
  • Interactive render mode: E’ qui che si decide se aggiungere soltanto una parte server, una client o entrambi nel programma che si sta creando.
  • Interactive location: Possiamo decidere se l’intero sito è reso dinamico oppure se specificare i singoli componenti creati. In quel caso dobbiamo aggiungere la direttiva @rendermode

Cliccando su Crea avremo il nostro progetto di esempio.

Panoramica di un progetto Blazor

Un progetto Blazor è composta da una parte Server e una Client. Queste interagiscono tra loro e permettono la visualizzazione del contenuto dinamico.

Nella parte relativa il Server abbiamo:

  • La cartella Components contiene già i componenti per la gestione degli account utenti nel caso sia stata attivata durante la creazione del progetto;
  • La cartella Data contiene le classi per la gestione degli utenti;

Nella parte relativa al Client abbiamo:

  • La parte www.root dove sono contenute le risorse bootstrapp, le icone, i font e il codice HTML di base per l’app;
  • La cartella Layout dove i vari componenti vengono messi assieme;
  • La cartella Pages dove inseriamo le pagine e i componenti.

E’ possibile aggiungere controller MVC ed API, Servizi, Interfacce e classi per aggiungere e gestire dinamicamente i propri componenti.