Introduzione ad ASP.NET MVC 3

di Marco De Sanctis, in ASP.NET MVC,

Il modello di sviluppo introdotto da ASP.NET Web Forms, sin dalla sua primissima incarnazione, basa il suo funzionamento sul concetto di "controllo server" tramite cui comporre il contenuto delle pagine: si tratta di oggetti in grado di rappresentare elementi di interfaccia complessi, incapsulandone le logiche di gestione e di generazione del markup. Sebbene questo approccio sia estremamente efficace nel trasportare tutti i vantaggi della programmazione basata sui controlli nell'ambito delle applicazioni web, per contro porta con sé anche tutta una serie di problematiche relative al fatto che le pagine tendono ad essere monolitiche e a presentare una consistente quantità di codice, a cui si unisce una certa difficoltà nel controllare l'effettivo markup generato in fase di rendering.

ASP.NET MVC propone invece un modello decisamente diverso, aggiungendo ad ASP.NET il supporto al pattern Model-View-Controller. Esso rappresenta un'alternativa interessante in tutti quei casi in cui sia necessario il maggior controllo possibile sul markup HTML o si voglia scrivere codice facilmente testabile e manutenibile. Giunto oramai alla sua terza versione, ASP.NET MVC si dimostra oggi un framework maturo, che ha esteso sempre più il suo campo di applicazione verso l'ambito enterprise. Questa release non stravolge assolutamente l'impostazione delle precedenti, pur introducendo comunque importanti novità all'interno del runtime, come nuove possibilità di validazione per i Model o l'inedito concetto di Global Action Filter. L'aspetto più eclatante, però, è sicuramente la presenza di un motore per la gestione delle View nuovo di zecca, chiamato Razor, che si propone di rendere più fluida e leggibile la convivenza di codice e markup.

Ma procediamo per ordine, occupandoci innanzitutto dei passi preliminari che dobbiamo compiere per poter installare ASP.NET MVC 3 all'interno di Visual Studio 2010.

Installazione e primo progetto basato su ASP.NET MVC 3

ASP.NET MVC 3 presenta requisiti minimi decisamente abbordabili: si tratta infatti di un add-on al .NET Framework 4 che può essere installato su qualsiasi versione di Visual Studio, compresa la Express Edition che, come sappiamo, è assolutamente gratuita.

Sebbene il download sia disponibile sotto forma di installer anche presso il Microsoft Download Center, il modo più semplice per integrarlo con Visual Studio 2010 è quello di procedere all'installazione utilizzando Web Platform Installer (disponibile presso il sito di Microsoft), tramite cui possiamo procedere a questa operazione sfruttando una semplice interfaccia grafica, lasciando al tool l'incombenza di effettuare tutti i download necessari (vedi figura 1).

Figura 1
Figura 1 - Web Platform Installer

Al termine di questa operazione, siamo finalmente pronti per realizzare la nostra prima applicazione basata su ASP.NET MVC 3, grazie al nuovo template che Visual Studio 2010 propone alla creazione di un nuovo progetto (vedi figura 2).

Figura 2
Figura 2 - Progetto ASP.NET MVC 3

Selezionando questa opzione, Visual Studio ci propone una successiva finestra di dialogo, tramite cui optare per l'aggiunta di un'applicazione completamente vuota oppure per una che contenga già alcune funzionalità di esempio, come già da un po' siamo in generale abituati per tutti i template di progetti ASP.NET (vedi figura 3).

Figura 3
Figura 3 - Tipi di template ASP.NET MVC 3 in Visual Studio

L'aspetto più interessante di questa finestra di dialogo, però, risiede nella possibilità di scegliere il View Engine desiderato; l'opzione predefinita è Razor, ossia il nuovo motore che abbiamo a disposizione per realizzare i template delle View della nostra applicazione, che rappresenta una vera e propria rivoluzione rispetto a quanto presente nelle precedenti versioni e che, pertanto, merita un'occhiata approfondita.

Razor, un nuovo motore per le nostre View

Realizzare una View in ASP.NET MVC vuol dire scrivere un template "intelligente", il cui compito è quello di rappresentare in HTML i dati contenuti all'interno del Model. Tali template, come sappiamo, sono costruiti sia dal vero e proprio markup, sia dal codice che ne regola la composizione. Fino ad oggi, l'engine utilizzato da ASP.NET MVC era mutuato da Web Forms, e sfruttava il tag speciale <% .. %> per distinguere le porzioni di codice dall'HTML. Il risultato era una sintassi che in alcuni casi si rivelava prolissa e poco leggibile, come possiamo notare nell'esempio di codice seguente:

<div>
  <% foreach (var item in Model.Items)
     { %>
       <span><%: item.Header %></span>
       <% if (item.SomeCondition)
          { %>
            <a href="mailto:<%:item.EmailAddress %>"><%: item.ContactName%></a>
       <% }
          else
          { %>
            <span>Invia una mail a webmaster@miosito.com</span>
       <% }%>
  <% } %>
</div>

Per questa ragione, in occasione di questa nuova versione di ASP.NET MVC, il team di sviluppo si è proposto l'ambizioso obiettivo di migliorare tale aspetto, realizzando un nuovo sistema di templating che riuscisse a far coesistere nella maniera più trasparente possibile il markup HTML e il codice server side.

3 pagine in totale: 1 2 3
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Top Ten Articoli

Articoli via e-mail

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

In primo piano

I più letti di oggi

In evidenza

Misc