ASP.NET MVC - Almagro

Transcripción

ASP.NET MVC - Almagro
Gerardo Grinman
5D
BREVE INTRODUCCION A ASP.NET
MVC
• ASP.NET MVC es un framework para la
creación de aplicaciones web que aplica el
patrón Model View Controller del framework
ASP.NET.
• Framework: un conjunto estandarizado de
conceptos, prácticas y criterios para enfocar
un tipo de problemática particular que sirve
como referencia, para enfrentar y resolver
nuevos problemas de índole similar.
EL PATRON MVC
• Model-View-Controller (MVC) ha sido un
importante patrón de arquitectura desde hace
muchos años.
• Es un modelo elegante para separar la logica de
acceso a datos de la logica de interfaz de
usuarios, por lo que se aplica muy bien en las
aplicaciones web.
• Se puede encontrar MVC en Java y C++, en Mac y
Windows y en muchos frameworks de distintos
lenguajes.
EL PATRON MVC
• MVC separa la interfaz de usuario de una
aplicacion en 3 aspectos principales:
– The Model: Un conjunto de clases que describe los
datos con los que trabaja, así como las reglas de
negocio sobre cómo se pueden cambiar y manipular
los datos
– The View: Define cómo se muestra la interfaz de
usuario de la aplicación (UI)
– The Controller: Un conjunto de clases que maneja la
comunicación del usuario, el flujo de aplicación
general, y la lógica específica de la aplicación
EL PATRON MVC
MVC en Web Frameworks
• El patrón MVC se utiliza con frecuencia en la
programación web:
– Models: Estas son las clases que representan el dominio
de interés. Estos objetos de dominio suelen encapsular los
datos almacenados en una base de datos, así como el
código utilizado para manipular los datos y aplicar la lógica
de negocio de dominio específico.
– View: Esta es una plantilla para generar dinámicamente
código HTML .
– Controller: Esta es una clase especial que gestiona la
relación entre la vista y el modelo. Responde al input del
usuario, se comunica con el model, y decide qué view
mostrar. En ASP.NET MVC, esta clase se representa
convencionalmente con un sufijo: Controller.
Razor View Engine
• Razor es la primera actualización importante
para imprimir y generar HTML.
• Razon fue diseñado especificamente como
una sintaxis para la vista. Tiene un objetivo
principal: armar plantillas para la generacion
de HTML.
Razor View Engine
@model MvcMusicStore.Models.Genre
@{ViewBag.Title = “Browse Albums”;}
<div class=”genre”>
<h3><em>@Model.Name</em> Albums</h3>
<ul id=”album-list”>
@foreach (var album in Model.Albums)
{
<li>
<a href=”@Url.Action(”Details”, new { id = album.AlbumId })”>
<img alt=”@album.Title” src=”@album.AlbumArtUrl” />
<span>@album.Title</span>
</a>
</li>
}
</ul>
</div>
Razor View Engine
• No es un nuevo lenguaje: Razor es una sintaxis que
permite utilizar las habilidades de programación en
.NET en una plantilla de una manera muy intuitiva.
• Fácil de aprender: Precisamente como Razor no es un
nuevo lenguaje, es fácil de aprender. Ya sabes HTML,
sabes .NET,. Sólo se tiene que escribir HTML y poner el
signo @ siempre que necesite escribir código .NET.
• Works with any text editor: Because Razor is so
lightweight and HTML-focused, you’re free to use the
editor of your choice. Visual Studio’s syntax
highlighting and IntelliSense features are nice, but it’s
simple enough that you can edit it in any text editor.
Rich JavaScript Support
• JavaScript es una parte importante de
cualquier aplicación web moderna. ASP.NET
MVC 3 añade un poco de apoyo para el
desarrollo del lado del cliente, siguiendo las
normas actuales para la integración JavaScript.
• jQuery Validation
CREACIÓN DE UNA APLICACIÓN MVC3
• Para crear una nueva aplicacion MVC:
1. Elegir File => New => Project
2. Dentro de los proyectos de Visual C# =>
Plantillas Web.
3. Seleccionar ASP.NET MVC 3 Web Application, y
llamarla MiPrimerAplicacion, y luego OK.
4. Seleccionar plantilla para Aplicación de Internet.
ENTENDIENDO LA ESTRUCTURA DE LA
APLICACIÓN MVC
• Cuando se crea una nueva aplicación MVC
ASP.NET con Visual Studio, se agrega
automáticamente varios archivos y directorios
para el proyecto.
ENTENDIENDO LA ESTRUCTURA DE LA
APLICACIÓN MVC
ENTENDIENDO LA ESTRUCTURA DE LA
APLICACIÓN MVC
• /Controllers => Dónde se ponen las clases
controladoras que manejan peticiones de URL
• /Models => Dónde se pone las clases que representan
y manipulan los datos y objetos de negocio
• /Views => Dónde se ponen los archivos de plantillas de
interfaz de usuario, tales como HTML
• /Scripts => Dónde se ponen los archivos JavaScript (.js)
• /Content => Dónde se ponen los CSS, imagenes y
archivos publicos que no generen contenido dinamico
• /App_Data => Dónde se almacenan los archivos de
datos que desea leer / escribir
/Controllers
/Views
/Content y /Scripts
ASP.NET MVC’s convenciones
• Cada nombre de clase de los Controllerstermina con
Controller - ProductoController, HomeController, y se
guardan en la carpeta Controllers.
• Hay una sola carpeta para todas las Views en la
aplicacion.
• Las Views que usan los Controllers, se ubican dentro de
sub carpetas dentro de la carpeta raiz Views y se
llaman de acuerdo al nombre del Controller (sin el
sufijo Controller). Por ejemplo, las views para
ProductoController estarian ubicadas dentro de
/Views/Producto
Convenciones Simplifican la
Comunicación
• Se escribe codigo para comunicar a 2 distintas
audiencias:
– Es necesario comunicar con claridad y sin
ambigüedades las instrucciones a la computadora
para su ejecución
– Se quiere que los desarrolladores sean capaces de
navegar y leer tu código para posterior
mantenimiento, depuración y mejoras

Documentos relacionados