Tag helpers

Se si ha familiarità con gli Html Helpers di .Net, i tag helpers semplificano ulteriormente la creazione di elementi all’interno delle View. Nel framework sono presenti molti tag helper predefiniti per le attività comuni, ad esempio la creazione di moduli e collegamenti, il caricamento di dati e così via, e altri ancora sono disponibili nei repository GitHub pubblici e come pacchetti NuGet.

Continua a leggere Tag helpers

Dependency Injection in ASP.NET Core

Nel normale workflow di un’applicazione classi e metodi richiedono esplicitamente parametri all’interno del loro costruttore o del metodo stesso.

Tecnicamente se una classe richiede che un’altra classe esegua delle operazioni, sicuramente esiste un legame di dipendenza tra di loro: si può affermare che la classe A ha una dipendenza con la classe B.

Se tali dipendenze sono presenti solo all’interno della classe e non sono indicate nella sua interfaccia pubblica, vengono definiti dipendenze implicite.

Continua a leggere Dependency Injection in ASP.NET Core

La gestione delle rotte in .Net Core

In .Net Core la gestione del routing è gestita tramite tramite i metodi  services.AddMvc() e app.UseMvc() chiamati direttamente all’interno del file Startup.cs. Questi due metodi consentono, rispettivamente, di :

  • registrare MVC utilizzando il framework per la  Dependency Injection integrato in .NET Core
  • Aggiungere il middleware necessario alla gestione della pipeline HTTP (definendo eventualmente le rotte di default)

Continua a leggere La gestione delle rotte in .Net Core

Sviluppare con .NET Core? Perché no?

Personalmente credo che .NET Core abbia raggiunto la maturità sufficiente per poter essere utilizzato al posto di .NET Framework. Nello sviluppo di applicazioni procedo sempre con l’analisi dei pro e dei contro nella scelta del framework da utilizzare. Le considerazioni che solitamente faccio sono:

  • Le applicazioni legacy difficilmente possono essere migrate a .NET Core: è meglio mantenere web app, backend e web api al framework .NET. Un discorso analogo è rappresentato dalle applicazioni on-premise (ad esempio deployate in sistemi Server)
  • Per quanto riguarda le applicazioni scritte in VB.NET (ahimè esistono ancora!), è sempre consigliato convertirle a C# e, se proprio non è possibile, mantenerle in .NET Framework
  • Per le altre soluzioni, soprattutto in ottica cloud, è consigliabile utilizzare .NET Core
  • Se l’applicazione è stata sviluppata seguendo i principi S.O.L.I.D, la migrazione potrebbe richiedere pochi interventi (necessari per l’adeguamento delle varie porzioni di codice). Se è sviluppata in Spaghetti Code (ebbene si, esistono!), è l’adeguamento ad un flusso più’ fluido ed organizzato è d’obbligo.

Continua a leggere Sviluppare con .NET Core? Perché no?

.NET Core e .NET MVC 5 – Differenze

Nella sezione Q&A dei miei corsi su .NET Core, una delle domande ricorrenti è quella che riguarda la differenza tra MVC5 e .NET Core MVC.

Uno degli aspetti che più sorprende (e che ha sorpreso anche me!) al momento della scrittura di una nuova applicazione basata su .NET Core è sicuramente la mancanza di alcuni elementi strutturali a cui ci siamo nel tempo abituati, e la presenza di nuovi.

Sicuramente la differenza principale è la possibilità di eseguire le applicazioni scritte in .NET Core in ambienti multipiattaforma, e soprattutto anche senza dover utilizzare necessariamente Visual Studio. Il nuovo framework, infatti, integra al suo interno una serie di operazioni “a linea di comando” che consentono la creazione di applicazioni senza dover utilizzare l’Ide di casa Microsoft (anche se rimane consigliato).

Continua a leggere .NET Core e .NET MVC 5 – Differenze