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