ASP.NET MVC

Nel suo post Andrea solleva alcuni dubbi sulla necessità del nuovo framework MVC di ASP.NET.

Personalmente il mio giudizio (basato sui post letti in questi giorni, sulla sessione vista al TechEd e sulle domande fatte a Matt Gibbs) è molto positivo.

Io nasco come programmatore web ai tempi di ASP 3.0.
L'uscita del Framework .NET ha suscitato un grande entusiasmo e da subito mi sono buttato nello sviluppo di una grossa applicazione web in C# + ASP.NET. Rispetto ad ASP mi sembrava il paradiso.

Con gli anni però le competenze cambiano, i browser da supportare diventano tanti, i web designer ci dicono che le Table non vanno usate, imparo a sviluppare usando TDD, arriva AJAX e il Web 2.0 e quindi nascono i primi dubbi sulla validità del modello di sviluppo imposto da ASP.NET tant'è che ultimamente usavo sempre meno i controlli nativi a favore di un rendering più preciso.

Per questo l'uscita di un framework MVC per ASP.NET ha subito attirato la mia attenzione per gli svariati vantaggi che porta con se:

1) Separazione delle competenze
2) Possibilità di aumentare la percentuale di codice testato e scritto usando TDD
3) Controllo fine sull'html generato
4) Possibilità VERA di far disegnare la view ad un web designer

Il problema che Andrea solleva è legato al codice che viene scritto nella view (lui cita il foreach di questo esempio).

Io non ci vedo nulla di male fintanto che il codice che sta sulla view è li per gestire il layout della view e non contiene logica applicativa.

Ad alcuni può sembrare un ritorno ad ASP quando si mescolava il codice di scripting con l'html, per un certo verso è vero ma oggi abbiamo un linguaggio ad oggetti e un framework altrettanto ben scritto che ci permette di risolvere i vecchi problemi di ASP e il modello MVC ci aiuta a non ricadere negli errori di design che si commettevano con ASP.

Se ci pensate è la stessa cosa che si fa con windows forms: nella classe che deriva da Form e implementa la view ci mettiamo solo quello che serve per leggere e scrivere dati nei controlli.

 

Print | posted on venerdì 16 novembre 2007 9.05

Comments on this post

# re: ASP.NET MVC

Requesting Gravatar...
se non erro olre al codice inline (che può o non può piacere) è possibile utilizzare tranquillamente i controlli lato server, con l'unica limitazione che non "supportano" il postback, dimmi se sbaglio

ciao marco
Left by Nostromo on nov 16, 2007 9.40

# re: ASP.NET MVC

Requesting Gravatar...
Sottoscrivo al 100%!
Le mie prime impressioni su MVC sono decisamente positive e non credo si possa parlare di un passo all'indietro, anzi!

Per il mix di codice e markup, personalmente trovo che - spesso! - un response.write al posto di un controllo lato server (tipicamente un literal) migliora la leggibilità/manutenibilità del codice. Voi no?

Quanto al foreach nell'esempio citato da Andrea: credo sia stato fatto per semplicità ma nulla vieta nell'utilizzo reale di metterci un repeater, no?
Left by Matteo on nov 16, 2007 9.55

# re: ASP.NET MVC

Requesting Gravatar...
Ciao,
ho messo un commento sul post di Guthrie riguardo l'uso dei controlli server side.
La risposta è stata:

"With the MVC pattern you'll typically end up declaring your own <form> elements around elements in a View, and work closer to the HTML/HTTP metal."

Sembra quindi che con MVC torneremo a scrivere il markup a manina come ai tempi di ASP...vedremo nei post successivi se questa previsione è errata....
Ciao
Carlo
Left by Carlo on nov 16, 2007 11.13

# re: ASP.NET MVC

Requesting Gravatar...
Ok, niente form runat=server ma questo non vuol niente controlli runat=server. Cmq l'unica cosa che possiamo fare è aspettare: only time will tell :-)
Left by Matteo on nov 16, 2007 4.00

Your comment:

 (will show your gravatar)
 
Please add 3 and 3 and type the answer here: