Mi chiamo Stefano Marchisio e sono di Torino, dal 2000 mi interesso a tutto cio' che ruota intorno al web. Sono un libero professionista che lavora come consulente freelance fullstack ed in questa pagina ti parlo della tecnologia principale che uso lato back-end.
Il mio obiettivo è quello di trovare collaborazioni come consulente freelance con nuove realtà. Per questo motivo se una software house ha dei lavori che desidera esternalizzare, piuttosto che cerca un supporto esterno in determinati momenti alto carico lavorativo, sono disponibile a valutare una collaborazione (contattatemi attraverso LinkedIn).
Sul mio sito troverete varie sezioni tra cui: Chi sono, Articoli, Progetti, Portfoglio, etc. Per alcuni articoli esistono anche delle live demo, ed il link al progetto su GitHub. Se interessa seguire i link: Vai alla demo del progetto, Vai al progetto su GitHub.
ASP.NET MVC Core è la nuova versione del framework di Microsoft per costruire applicazioni usando il design pattern Model-View-Controller. Ciò che lo differenzia dal predecessore è che ora non è più legato ad un server Windows, infatti può anche essere installato su macchine Linux o Mac. Per raggiungere questo obiettivo è stata necessaria una completa riscrittura per eliminare ogni dipendenza dal server sottostante. Il nuovo framework è ora opensource e chiunque può scaricare i sorgenti per visionarli, ha inoltre una struttura modulare in modo da installare solo le cose necessarie. In questo modo, su una schedina IOT su cui è presente una versione minimale di Linux, vengono installate solo le cose che servono onde evitare inutili sprechi di risorse.
Va ricordato che ASP.NET ha visto la luce i primi anni del 2000. Nella prima versione non veniva ancora implementato il pattern MVC, infatti avevamo pagine .aspx. Ai tempi l’approccio adottato dalle pagine .aspx poteva essere visto come innovativo, mai poi sono emerse delle lacune che hanno richiesto di reinventare una nuova modalità di sviluppo.
L’approccio introdotto da ASP.NET MVC presenta infatti diverse differenze rispetto al metodo di lavoro a cui eravamo abituati in ASP.NET classico, in particolare per quanto riguarda la scrittura e l’organizzazione del codice.
Il pattern architetturale Model-View-Controller (MVC) separa un'applicazione in tre macro gruppi principali di componenti: Model, View e Controller. Questo modello aiuta a ottenere la “separation of concerns” in modo da ottenere un architettura chiara e pulita. Utilizzando questo modello, le richieste degli utenti vengono instradate a un Controller (in base alle regole di routing presenti) il quale è responsabile di lavorare con il Modello per eseguire azioni dell'utente e / o recuperare i risultati delle query. Il controller sceglie poi la vista con cui mostrare all'utente i dati richiesti.
Sia la vista che il controller dipendono dal modello. Tuttavia, il modello non dipende né dalla vista né dal controller. Questo è uno dei principali vantaggi della separazione delle responsabilità.
Una prima differenza che può essere fonte di disagio per chi proviene dalle pagine .aspx è che MVC richiede che il codice HTML presente nelle viste debba essere scritto manualmente, diversamente da quanto accadeva con le pagine .aspx in cui il codice veniva generato automaticamente dai controlli lato server. Ma questo anche se a prima vista possa sembrare un passo indietro è un passo in avanti perché ha permesso l’eliminazione del ViewState e dei PostBack (per esempio).
Il fatto di non avere più controlli lato server ha inoltre reso più semplice implementare chiamate AJAX, per aggiornare porzioni del DOM senza dover ricaricare tutta la pagina. Per compensare questa mancanza in ASP.NET MVC troviamo invece gli html-helper e tag-helper che ci permettono di generare piccole porzioni di html. Troviamo inoltre le PartialView che sono porzioni di html riutilizzabile, piuttosto che i components che sono simili alle PartialView ma hanno anche una controparte C# simile ad un mini controller.
A questo link potete trovare i miei articoli su LinkedIn
A questo link potete trovare i miei articoli su Medium
Consulente freelance: Full-Stack
Linguaggi: C#, CSS, HTML, TypeScript / JavaScript, SQL
Framework: Angular, ASP.NET / WebForm, ASP.NET / MVC, JQuery, Knockout.js, rxjs
DataBase: Entity Framework, Microsoft SqlServer