Asp.net Web Forms e Asp.net MVC a confronto

Commenti 7
Asp.net Windows Form VS Asp.net MVC

"Quale tecnologia è la migliore Asp.net Web Forms o Asp.net MVC?"

Fondamentalmente si sta parlando sempre di Asp.net è il metodo che cambia.

Asp.net MVC è una parte del framework .net che ci permette di creare siti scalabili suddividendo la logica di programmazione in base al metodo: Modle-View-Controller, ovvero:

  • Model: Il modello dei dati
  • View: la vista che verrà proposta all'utente
  • Controller: ovvero la programmalità del codice del sito o applicazione

I due metodi non nascono per essere in competizione ma per essere complementari. Infatti Asp.Net MVC ha un maggiore controllo sul codice HTML e non necessita di PostBack per effettuare operazioni, quindi può essere meglio utilizzato per la creazione di blog o piccoli siti.
Infatti ogni richiesta da parte del client viene analizzata dal controller il quale restituisce la giusta view per il contenuto richiesto diminuendo così l'espansione del ViewState di Asp.net.

Alla sua nascita, il metodo MVC (versione 1), ha rqappresentato una rivoluzione in ambiente Asp.net, grazie a numerosi vantaggi quali:

  • riduzione del ViewState, non dovendo gestire i postback,
  • possibilità di utilizzo di altri motori di rendering oltra a quello dei WebForm
  • totale gestione del codice html e dei CSS, i quali, hanno una gestione diretta sui controlli
  • creazione di URL personalizzati
  • gestione della struttura semplificata grazie ai tre modelli

Ad oggi, grazie al miglioramento degli attuali framework, sono elementi che possiamo trovare anche nelle applicazioni basate su WebForm.

Se devo essere sincero, io personalmente, non uso Asp.net MVC in quanto lo trovo poco agevole. In Asp.net MVC non si hanno i famosi controlli Asp.net (presenti invece nelle webform), con questo metodo i controlli devono essere creati singolarmente. Questo comporta un utilizzo superiore dei tempi di produzione e di debug in caso di errori  localizzabili e non.
Anche con le WebForm riesco ad avere un controllo completo del codice HTML degli stili ad esso associati e del ViewState. E vista la logica con cui oggi vengono creati i siti web o blog, rimane indispensabile avere il controllo del PostBack delle pagine.

Molto probabilemente le mie preferenze verso le WebForm derivano dal fatto che ho sempre lavorato con esse, ma ricordo benissimo il periodo in cui ho effettuato la migrazione da Asp ad Asp.net (a quel tempo solo WebForm) e rimasi affascinato dalle porte che mi si aprivano davanti, mentre la stessa sensazione non l'ho ricevuta durante i primi approcci a MVC e tuttora se devo creare un'applicazione web, anche semplice, preferisco utilizzare i WebForm.

In ogni caso consiglio di non specializzarsi unicamente su uno o l'altro metodo, ma di allargare le proprie conoscenze verso entrambe le soluzioni (che possono convivere benissimo anche all'interno della stessa applicazione), più è alta la professionalità più sara elevato il livello qualitativo del servizio offerto.



Articoli Correlati

Form in Jquery ed Asp.Net Eliminare tutte le tabelle, viste e stored procedure presenti all'interno di un database SQL Server Recuperare tutte le stored procedure da un database SQL Server Recuperare elenco tabelle da un DataBase SQL Server

Commenti

Chiara 28/03/2014
Salve,
ho letto con interesse questo suo articolo e forse un pò per convenienza sono d'accordo con lei.
Provengo da anni di preogrammazione desktop in vb.net e sto studiando da poco il paradigma asp.net mvc. Tempo fa avevo fatto qualche prova utilizzando il web form e devo dire che tra le due tecniche, un pò per motivi di tempi tecnici, dovendo scegliere con quale tecnica iniziare a riprogrammare il mio gestionale, sono più tentata di utilizzare il secondo.

Ma nel farlo vorrei avere un parere da chi è più esperto di me in questo. lei cosa mi consiglia, parlando non di un sito ma un gestionale da far girare online...con netto ritardo :)

gazie

filippo amadori 28/03/2014
Salve Chiara,
Visto che sta parlando di un gestionale (immagino sotto dominio privato, non pubblico), quindi non deve rispondere a tutte le tecniche di SEO e di plasmabilità del codice HTML, io le consiglierei di utilizzare la tecnica dei Web Forms.
Una volta capite le situazioni di post-back, vedrà che con i controlli Asp.Net potrà gestire al meglio tutti gli eventi scatenati dai controlli e dalle pagine.

Ovvio che questo è un parere personale e le consiglio di interpellare più fonti anche se non troppe altrimenti si crea solo più confusione.

Chiara 28/03/2014
Grazie per la risposta.
Vedrò di muovermi per questa via,
ho letto molto sul fatto che comunque una tecnica non esclude l'altra ma da qualche parte bisogna pur cominciare.

Spero di dare al più presto testimonianza della mia esperienza.

Andrea 28/03/2014
Ciao,
sono d'accordo nell'utilizzare i web form. Utilizzando ajaxtoolkit rendi tutto molto fluido.
Ultimamente io utilizzo la tecnica dei web service e jquery , è il metodo che mi soddisfa di più per questi motivi:
1. mantengo ben distinte la parte server dalla parte client
2. l'utilizzo di jquery e Ajax rende molto fluido il front-end per via delle chiamate asincrone e dell'esecuzione lato client di jquery
3.E' veloce da implementare, creato il javascript che comunica con il webservice è facilmente scalabile

Infine utilizzo bootstrap.js che è un'ottima collezione di elementi grafici basati su un css e un js che ne gestisce alcuni comportamenti.


Questo è il mio metodo preferito.

Saluti,

filippo amadori 31/03/2014
A me, per esempio, piace usare lo stesso sistema di Andrea ma senza web-serivces ed utilizzando, al loro posto, dei gestori generici .ashx.

Quindi dimostrato che un metodo non è migliore o peggiore dell'altro ma dipendente dalle giuste conoscenza.

gianfranco 17/07/2014
Anch'io sto studiando il nuovo paradigma e devo dire che passata la paura iniziale una volta che hai capito la logica vai liscio. L'ho trovato piu maturo. Nel senso che già dall'esempio di base ti trovi un layout fluido e responsive, un codice html5 piu pulito dei webform e l'uso degli url già riscritti per il posizionamento. Cose che puoi fare ovviamente anche nei web Form. Tuttavia anch'io ho usato per parecchio i web Form e devo dire che sono insostituibili. In fondo sono affascinanti entrambi e spero che Microsoft porti avanti entrambi. Inoltre Microsoft prende il meglio dell'open source come il nuovo paradigma e lo adatta fin troppo bene al suo tool ossia visual studio. Spero però che migliorino la creazione di layout responsivi in visual studio. Ad esempio in Dreamweaver cc hanno creato una fantastica funzione che ti crea una griglia preimpostata per i tre dispositivi (tablet, smartphone, desktop) dove puoi lavorare direttamente per le tre risoluzioni o più. Insomma una chicca che visual studio dovrebbe includere a mio avviso. Oggi creare un sito non responsive e come creare un sito solo in html ;-)

marco piumi 01/04/2016
Sono contento di ritrovare le mie stesse convinzioni in questo articolo.
Uso Asp.Net Web Forms da almeno 7/8 anni e mi trovo benissimo, soprattutto associato ai controlli della Telerik.
Ho realizzato diverse procedure molto complesse ed i risultati sono eccezionali.
L'unico dubbio che ho sempre avuto riguardava la velocità dei postback anche se fatti utilizzando Ajax, poichè con server poco performanti o client con connessioni internet non particolarmente veloci, non sempre l'interattività è quella ottimale.
I dubbi sulla scelta sono continui, ma penso che la soluzione mista per il futuro possa essere la più valida.

Lascia un commento

Il tuo indirizzo e-amil non sarà pubblicato.

Salva commento Anteprima