11. ASP.NET MVC

Embed Size (px)

Citation preview

  • 8/11/2019 11. ASP.NET MVC

    1/19

    Gerardo Grinman5D

  • 8/11/2019 11. ASP.NET MVC

    2/19

    BREVE INTRODUCCION A ASP.NETMVC

    ASP.NET MVC es un framework para lacreacin de aplicaciones web que aplica elpatrn Model View Controller del framework

    ASP.NET. Framework: un conjunto estandarizado de

    conceptos, prcticas y criterios para enfocarun tipo de problemtica particular que sirvecomo referencia, para enfrentar y resolvernuevos problemas de ndole similar.

  • 8/11/2019 11. ASP.NET MVC

    3/19

    EL PATRON MVC

    Model-View-Controller (MVC) ha sido unimportante patrn de arquitectura desde hacemuchos aos.

    Es un modelo elegante para separar la logica deacceso a datos de la logica de interfaz deusuarios, por lo que se aplica muy bien en lasaplicaciones web.

    Se puede encontrar MVC en Java y C++, en Mac yWindows y en muchos frameworks de distintoslenguajes.

  • 8/11/2019 11. ASP.NET MVC

    4/19

    EL PATRON MVC

    MVC separa la interfaz de usuario de unaaplicacion en 3 aspectos principales:

    The Model: Un conjunto de clases que describe los

    datos con los que trabaja, as como las reglas denegocio sobre cmo se pueden cambiar y manipularlos datos

    The View: Define cmo se muestra la interfaz deusuario de la aplicacin (UI)

    The Controller: Un conjunto de clases que maneja lacomunicacin del usuario, el flujo de aplicacingeneral, y la lgica especfica de la aplicacin

  • 8/11/2019 11. ASP.NET MVC

    5/19

    EL PATRON MVC

  • 8/11/2019 11. ASP.NET MVC

    6/19

    MVC en Web Frameworks

    El patrn MVC se utiliza con frecuencia en laprogramacin web: Models: Estas son las clases que representan el dominio

    de inters. Estos objetos de dominio suelen encapsular los

    datos almacenados en una base de datos, as como elcdigo utilizado para manipular los datos y aplicar la lgicade negocio de dominio especfico.

    View: Esta es una plantilla para generar dinmicamentecdigo HTML.

    Controller: Esta es una clase especial que gestiona larelacin entre la vista y el modelo. Responde al input delusuario, se comunica con el model, y decide qu viewmostrar. En ASP.NET MVC, esta clase se representaconvencionalmente con un sufijo: Controller.

  • 8/11/2019 11. ASP.NET MVC

    7/19

    Razor View Engine

    Razor es la primera actualizacin importante

    para imprimir y generar HTML.

    Razon fue diseado especificamente como

    una sintaxis para la vista. Tiene un objetivo

    principal: armar plantillas para la generacion

    de HTML.

  • 8/11/2019 11. ASP.NET MVC

    8/19

    Razor View Engine

    @model MvcMusicStore.Models.Genre

    @{ViewBag.Title = Browse Albums;}

    @Model.Name Albums

    @foreach (var album in Model.Albums){

    @album.Title

    }

  • 8/11/2019 11. ASP.NET MVC

    9/19

    Razor View Engine

    No es un nuevo lenguaje: Razor es una sintaxis quepermite utilizar las habilidades de programacin en.NET en una plantilla de una manera muy intuitiva.

    Fcil de aprender: Precisamente como Razor no es un

    nuevo lenguaje, es fcil de aprender. Ya sabes HTML,sabes .NET,. Slo se tiene que escribir HTML y poner elsigno @ siempre que necesite escribir cdigo .NET.

    Works with any text editor: Because Razor is solightweight and HTML-focused, youre free to use theeditor of your choice. Visual Studios syntaxhighlighting and IntelliSense features are nice, but itssimple enough that you can edit it in any text editor.

  • 8/11/2019 11. ASP.NET MVC

    10/19

    Rich JavaScript Support

    JavaScript es una parte importante de

    cualquier aplicacin web moderna. ASP.NET

    MVC 3 aade un poco de apoyo para el

    desarrollo del lado del cliente, siguiendo las

    normas actuales para la integracin JavaScript.

    jQuery Validation

  • 8/11/2019 11. ASP.NET MVC

    11/19

    CREACIN DE UNA APLICACIN 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 Aplicacin de Internet.

  • 8/11/2019 11. ASP.NET MVC

    12/19

    ENTENDIENDO LA ESTRUCTURA DE LAAPLICACIN MVC

    Cuando se crea una nueva aplicacin MVC

    ASP.NET con Visual Studio, se agrega

    automticamente varios archivos y directorios

    para el proyecto.

  • 8/11/2019 11. ASP.NET MVC

    13/19

    ENTENDIENDO LA ESTRUCTURA DE LAAPLICACIN MVC

  • 8/11/2019 11. ASP.NET MVC

    14/19

    ENTENDIENDO LA ESTRUCTURA DE LAAPLICACIN MVC

    /Controllers => Dnde se ponen las clasescontroladoras que manejan peticiones de URL

    /Models => Dnde se pone las clases que representany manipulan los datos y objetos de negocio

    /Views => Dnde se ponen los archivos de plantillas deinterfaz de usuario, tales como HTML

    /Scripts => Dnde se ponen los archivos JavaScript (.js)

    /Content => Dnde se ponen los CSS, imagenes y

    archivos publicos que no generen contenido dinamico /App_Data => Dnde se almacenan los archivos de

    datos que desea leer / escribir

  • 8/11/2019 11. ASP.NET MVC

    15/19

    /Controllers

  • 8/11/2019 11. ASP.NET MVC

    16/19

    /Views

  • 8/11/2019 11. ASP.NET MVC

    17/19

    /Content y /Scripts

  • 8/11/2019 11. ASP.NET MVC

    18/19

    ASP.NET MVCsconvenciones

    Cada nombre de clase de los Controllerstermina conController - ProductoController, HomeController, y seguardan en la carpeta Controllers.

    Hay una sola carpeta para todas las Views en laaplicacion.

    Las Views que usan los Controllers, se ubican dentro desub carpetas dentro de la carpeta raiz Views y sellaman de acuerdo al nombre del Controller (sin el

    sufijo Controller). Por ejemplo, las views paraProductoController estarian ubicadas dentro de/Views/Producto

  • 8/11/2019 11. ASP.NET MVC

    19/19

    Convenciones Simplifican laComunicacin

    Se escribe codigo para comunicar a 2 distintas

    audiencias:

    Es necesario comunicar con claridad y sin

    ambigedades las instrucciones a la computadorapara su ejecucin

    Se quiere que los desarrolladores sean capaces de

    navegar y leer tu cdigo para posteriormantenimiento, depuracin y mejoras