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?

VS2017 – Caricamento parallelo dei progetti

Con il rilascio della versione 15.6 di Visual Studio 2017 è stato introdotto il Parallel Project Load, che consente di migliorare sensibilmente la velocità di caricamento delle soluzioni composte da molti progetti. Il nuovo modello di caricamento sfrutta le migliorie introdotte nella versione 15.5 con l’obiettivo di migliorare la generazione dei dati di Intellisense, parallelizzando le fasi di build  a design-time. Questa miglioria consente di velocizzare l’apertura delle soluzioni sfruttando il modello di esecuzione parallelo, soprattutto quando non sono state aperte in precedenza. Intellisense, inoltre, utilizza una sistema interno di cache che non richiede l’intera rigenerazione durante le aperture successive.

Continua a leggere VS2017 – Caricamento parallelo dei progetti

ECMAScript 6 e Webpack

Lo sviluppo web in javascript è spesso legato all’utilizzo di molti file. Un pò perchè il numero di righe di codice aumenta con la complessità dell’applicazione da realizzare, un pò per la necessità di aggiungere librerie di terze parti. L’inclusione di questi file avviene normalmente utilizzando tag <script> che il più delle volte richiedono connessioni http per il download. Stiamo parlando dell’inclusione di file provenienti da link esterni e/o CDN.

Continua a leggere ECMAScript 6 e Webpack

.Net Core – Static files e cache

La cache è il meccanismo che consente ai browser di memorizzare al loro interno le singole risposte http provenienti dal client. Vengono memorizzate all’interno della cache i contenuti di pagine, file javascript, immagini e ovviamente i file css.

Il sistema di caching dei file statici in ambiente di produzione è sicuramente molto importante, perchè consente al client di scaricare solo i file che effettivamente sono “scaduti” (ovviamente se non vengono effettuate forzature, come la cancellazione della cache sul browser). Questo tipo di comportamento non sempre è ottimale durante la fase di sviluppo: spesso una risposta diversa da quella che ci aspettiamo deriva proprio dal mancato aggiornamento dei file (all’interno della cache del browser).

Continua a leggere .Net Core – Static files e cache