40
Desarrollo de Aplicaciones Web con ASP.NET MVC 5 Módulo 1:Introducción a ASP.NET MVC 5 Oscar Gensollen Arroyo Microsoft Certified Trainer MCSD Web + SharePoint Arquitecto, Consultor en TI oscar.gensollen @formativaperu.com @ oscargensollen

Desarrollo de Aplicaciones Web con ASP.NET MVC5

Embed Size (px)

Citation preview

Desarrollo de

Aplicaciones Web con

ASPNET MVC 5

Moacutedulo 1Introduccioacuten a

ASPNET MVC 5

Oscar Gensollen Arroyo

Microsoft Certified Trainer

MCSD Web + SharePoint

Arquitecto Consultor en TI

oscargensollenformativaperucom

oscargensollen

Agenda Arquitectura de ASPNET MVC 5

Web Forms versus MVC

Creacioacuten y estructura de un proyecto

MVC

Desarrollo

Moacutedulo 1

Arquitectura de ASP NET MVC 5

ASP NET MVC eshellip

bull Un nuevo tipo de proyecto para ASP NET

bull Una opcioacuten de desarrollo

bull Mas control sobre ellthtmlgt

bull Un framework mas facil de probar

bull No es para todos los casos

Cuaacutel es el punto con MVC

bull No es Web Forms vNexthellipes una alternativa maacutes

bull Flexible muy extensible

bull Fundamental parte de SystemWeb

bull Integrado NHibernate Brail etc pueden ser

empleados con total libertad

Arquitectura de ASP NET MVC 5

Motivaciones principales

Clara separacioacuten de intereses

bull Faacutecil testing con TDD

bull Permite crear aplicaciones altamente mantenibles

Extensible y conectable

bull Soporta el reemplazo de cualquier componente

del sistema

Permite URLs claras y HTML simple

bull Estructuras amigables SEO y REST

Gran integracioacuten con ASPNET

bull Todos los proveedores de siempre funcionan

bull Membership Session Caching etc

bull Disentildeador ASPNET en VS2013

Arquitectura de ASP NET MVC 5

Comparacioacuten de patrones

(1)

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Browser

Controller

View Model

Database

Web Server HTTP

SQL

Routing

httphostportProductsView100

Arquitectura de ASP NET MVC 5

Routing

Decide que controlador responde a cada

peticioacuten

Basaacutendose en la URL

Mapea una peticioacuten a una accioacuten (meacutetodo

de un controlador)

Permite la creacioacuten de URLs personalizadas

con mucha facilidad

Arquitectura de ASP NET MVC 5

El patroacuten MVC (mas explicado)

Controlador

Responde a las peticiones http

Interactuacutea con el modelo

Pasa los datos a la vista

Modelo

Contiene la loacutegica de negocio y datos

Vista

Representa visualmente (HTML) unos datos

Arquitectura de ASP NET MVC 5

Controladores

Manejan la loacutegica de presentacioacuten

Son los que reciben las peticiones en

base a una URL

Derivan la peticioacuten a una accioacuten

Programaacuteticamente un meacutetodo

Arquitectura de ASP NET MVC 5

Action Results

Cada accioacuten de un controlador debe

devolver un resultado que es enviado al

browser

Ejemplos

ViewResult Devuelve una vista (html)

JsonResult Devuelve datos en json

FileResult Devuelve el contenido de un

fichero

Arquitectura de ASP NET MVC 5

Vistas Las vistas reciben datos del controlador y

muestran estos datos

Se implementan mediante paacuteginas aspx

Sin controles de servidor

Sin laquocode-behindraquo

Arquitectura de ASP NET MVC 5

Vistas parciales

Una vista parcial es una vista que se

muestra dentro de otra vista

Se implementan como controles ascx

Sin controles runat=laquoserverraquo

Sin code behind

Dan soporte para reutilizacioacuten y

composicioacuten

Arquitectura de ASP NET MVC 5

Helpers

ASPNET MVC viene con clases que

ayudan a generar HTML de forma maacutes

simple

La propiedad HTML de las vistas accede al

HtmlHelper que tiene meacutetodos para

generar coacutedigo HTML tiacutepico (pej Controles

html)

La propiedad AJAX de las vistas accede al

AjaxHelper que tiene meacutetodos para

generar coacutedigo para interactuar con la

Ajax Library

Arquitectura de ASP NET MVC 5

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Agenda Arquitectura de ASPNET MVC 5

Web Forms versus MVC

Creacioacuten y estructura de un proyecto

MVC

Desarrollo

Moacutedulo 1

Arquitectura de ASP NET MVC 5

ASP NET MVC eshellip

bull Un nuevo tipo de proyecto para ASP NET

bull Una opcioacuten de desarrollo

bull Mas control sobre ellthtmlgt

bull Un framework mas facil de probar

bull No es para todos los casos

Cuaacutel es el punto con MVC

bull No es Web Forms vNexthellipes una alternativa maacutes

bull Flexible muy extensible

bull Fundamental parte de SystemWeb

bull Integrado NHibernate Brail etc pueden ser

empleados con total libertad

Arquitectura de ASP NET MVC 5

Motivaciones principales

Clara separacioacuten de intereses

bull Faacutecil testing con TDD

bull Permite crear aplicaciones altamente mantenibles

Extensible y conectable

bull Soporta el reemplazo de cualquier componente

del sistema

Permite URLs claras y HTML simple

bull Estructuras amigables SEO y REST

Gran integracioacuten con ASPNET

bull Todos los proveedores de siempre funcionan

bull Membership Session Caching etc

bull Disentildeador ASPNET en VS2013

Arquitectura de ASP NET MVC 5

Comparacioacuten de patrones

(1)

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Browser

Controller

View Model

Database

Web Server HTTP

SQL

Routing

httphostportProductsView100

Arquitectura de ASP NET MVC 5

Routing

Decide que controlador responde a cada

peticioacuten

Basaacutendose en la URL

Mapea una peticioacuten a una accioacuten (meacutetodo

de un controlador)

Permite la creacioacuten de URLs personalizadas

con mucha facilidad

Arquitectura de ASP NET MVC 5

El patroacuten MVC (mas explicado)

Controlador

Responde a las peticiones http

Interactuacutea con el modelo

Pasa los datos a la vista

Modelo

Contiene la loacutegica de negocio y datos

Vista

Representa visualmente (HTML) unos datos

Arquitectura de ASP NET MVC 5

Controladores

Manejan la loacutegica de presentacioacuten

Son los que reciben las peticiones en

base a una URL

Derivan la peticioacuten a una accioacuten

Programaacuteticamente un meacutetodo

Arquitectura de ASP NET MVC 5

Action Results

Cada accioacuten de un controlador debe

devolver un resultado que es enviado al

browser

Ejemplos

ViewResult Devuelve una vista (html)

JsonResult Devuelve datos en json

FileResult Devuelve el contenido de un

fichero

Arquitectura de ASP NET MVC 5

Vistas Las vistas reciben datos del controlador y

muestran estos datos

Se implementan mediante paacuteginas aspx

Sin controles de servidor

Sin laquocode-behindraquo

Arquitectura de ASP NET MVC 5

Vistas parciales

Una vista parcial es una vista que se

muestra dentro de otra vista

Se implementan como controles ascx

Sin controles runat=laquoserverraquo

Sin code behind

Dan soporte para reutilizacioacuten y

composicioacuten

Arquitectura de ASP NET MVC 5

Helpers

ASPNET MVC viene con clases que

ayudan a generar HTML de forma maacutes

simple

La propiedad HTML de las vistas accede al

HtmlHelper que tiene meacutetodos para

generar coacutedigo HTML tiacutepico (pej Controles

html)

La propiedad AJAX de las vistas accede al

AjaxHelper que tiene meacutetodos para

generar coacutedigo para interactuar con la

Ajax Library

Arquitectura de ASP NET MVC 5

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Desarrollo

Moacutedulo 1

Arquitectura de ASP NET MVC 5

ASP NET MVC eshellip

bull Un nuevo tipo de proyecto para ASP NET

bull Una opcioacuten de desarrollo

bull Mas control sobre ellthtmlgt

bull Un framework mas facil de probar

bull No es para todos los casos

Cuaacutel es el punto con MVC

bull No es Web Forms vNexthellipes una alternativa maacutes

bull Flexible muy extensible

bull Fundamental parte de SystemWeb

bull Integrado NHibernate Brail etc pueden ser

empleados con total libertad

Arquitectura de ASP NET MVC 5

Motivaciones principales

Clara separacioacuten de intereses

bull Faacutecil testing con TDD

bull Permite crear aplicaciones altamente mantenibles

Extensible y conectable

bull Soporta el reemplazo de cualquier componente

del sistema

Permite URLs claras y HTML simple

bull Estructuras amigables SEO y REST

Gran integracioacuten con ASPNET

bull Todos los proveedores de siempre funcionan

bull Membership Session Caching etc

bull Disentildeador ASPNET en VS2013

Arquitectura de ASP NET MVC 5

Comparacioacuten de patrones

(1)

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Browser

Controller

View Model

Database

Web Server HTTP

SQL

Routing

httphostportProductsView100

Arquitectura de ASP NET MVC 5

Routing

Decide que controlador responde a cada

peticioacuten

Basaacutendose en la URL

Mapea una peticioacuten a una accioacuten (meacutetodo

de un controlador)

Permite la creacioacuten de URLs personalizadas

con mucha facilidad

Arquitectura de ASP NET MVC 5

El patroacuten MVC (mas explicado)

Controlador

Responde a las peticiones http

Interactuacutea con el modelo

Pasa los datos a la vista

Modelo

Contiene la loacutegica de negocio y datos

Vista

Representa visualmente (HTML) unos datos

Arquitectura de ASP NET MVC 5

Controladores

Manejan la loacutegica de presentacioacuten

Son los que reciben las peticiones en

base a una URL

Derivan la peticioacuten a una accioacuten

Programaacuteticamente un meacutetodo

Arquitectura de ASP NET MVC 5

Action Results

Cada accioacuten de un controlador debe

devolver un resultado que es enviado al

browser

Ejemplos

ViewResult Devuelve una vista (html)

JsonResult Devuelve datos en json

FileResult Devuelve el contenido de un

fichero

Arquitectura de ASP NET MVC 5

Vistas Las vistas reciben datos del controlador y

muestran estos datos

Se implementan mediante paacuteginas aspx

Sin controles de servidor

Sin laquocode-behindraquo

Arquitectura de ASP NET MVC 5

Vistas parciales

Una vista parcial es una vista que se

muestra dentro de otra vista

Se implementan como controles ascx

Sin controles runat=laquoserverraquo

Sin code behind

Dan soporte para reutilizacioacuten y

composicioacuten

Arquitectura de ASP NET MVC 5

Helpers

ASPNET MVC viene con clases que

ayudan a generar HTML de forma maacutes

simple

La propiedad HTML de las vistas accede al

HtmlHelper que tiene meacutetodos para

generar coacutedigo HTML tiacutepico (pej Controles

html)

La propiedad AJAX de las vistas accede al

AjaxHelper que tiene meacutetodos para

generar coacutedigo para interactuar con la

Ajax Library

Arquitectura de ASP NET MVC 5

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

ASP NET MVC eshellip

bull Un nuevo tipo de proyecto para ASP NET

bull Una opcioacuten de desarrollo

bull Mas control sobre ellthtmlgt

bull Un framework mas facil de probar

bull No es para todos los casos

Cuaacutel es el punto con MVC

bull No es Web Forms vNexthellipes una alternativa maacutes

bull Flexible muy extensible

bull Fundamental parte de SystemWeb

bull Integrado NHibernate Brail etc pueden ser

empleados con total libertad

Arquitectura de ASP NET MVC 5

Motivaciones principales

Clara separacioacuten de intereses

bull Faacutecil testing con TDD

bull Permite crear aplicaciones altamente mantenibles

Extensible y conectable

bull Soporta el reemplazo de cualquier componente

del sistema

Permite URLs claras y HTML simple

bull Estructuras amigables SEO y REST

Gran integracioacuten con ASPNET

bull Todos los proveedores de siempre funcionan

bull Membership Session Caching etc

bull Disentildeador ASPNET en VS2013

Arquitectura de ASP NET MVC 5

Comparacioacuten de patrones

(1)

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Browser

Controller

View Model

Database

Web Server HTTP

SQL

Routing

httphostportProductsView100

Arquitectura de ASP NET MVC 5

Routing

Decide que controlador responde a cada

peticioacuten

Basaacutendose en la URL

Mapea una peticioacuten a una accioacuten (meacutetodo

de un controlador)

Permite la creacioacuten de URLs personalizadas

con mucha facilidad

Arquitectura de ASP NET MVC 5

El patroacuten MVC (mas explicado)

Controlador

Responde a las peticiones http

Interactuacutea con el modelo

Pasa los datos a la vista

Modelo

Contiene la loacutegica de negocio y datos

Vista

Representa visualmente (HTML) unos datos

Arquitectura de ASP NET MVC 5

Controladores

Manejan la loacutegica de presentacioacuten

Son los que reciben las peticiones en

base a una URL

Derivan la peticioacuten a una accioacuten

Programaacuteticamente un meacutetodo

Arquitectura de ASP NET MVC 5

Action Results

Cada accioacuten de un controlador debe

devolver un resultado que es enviado al

browser

Ejemplos

ViewResult Devuelve una vista (html)

JsonResult Devuelve datos en json

FileResult Devuelve el contenido de un

fichero

Arquitectura de ASP NET MVC 5

Vistas Las vistas reciben datos del controlador y

muestran estos datos

Se implementan mediante paacuteginas aspx

Sin controles de servidor

Sin laquocode-behindraquo

Arquitectura de ASP NET MVC 5

Vistas parciales

Una vista parcial es una vista que se

muestra dentro de otra vista

Se implementan como controles ascx

Sin controles runat=laquoserverraquo

Sin code behind

Dan soporte para reutilizacioacuten y

composicioacuten

Arquitectura de ASP NET MVC 5

Helpers

ASPNET MVC viene con clases que

ayudan a generar HTML de forma maacutes

simple

La propiedad HTML de las vistas accede al

HtmlHelper que tiene meacutetodos para

generar coacutedigo HTML tiacutepico (pej Controles

html)

La propiedad AJAX de las vistas accede al

AjaxHelper que tiene meacutetodos para

generar coacutedigo para interactuar con la

Ajax Library

Arquitectura de ASP NET MVC 5

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Motivaciones principales

Clara separacioacuten de intereses

bull Faacutecil testing con TDD

bull Permite crear aplicaciones altamente mantenibles

Extensible y conectable

bull Soporta el reemplazo de cualquier componente

del sistema

Permite URLs claras y HTML simple

bull Estructuras amigables SEO y REST

Gran integracioacuten con ASPNET

bull Todos los proveedores de siempre funcionan

bull Membership Session Caching etc

bull Disentildeador ASPNET en VS2013

Arquitectura de ASP NET MVC 5

Comparacioacuten de patrones

(1)

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Browser

Controller

View Model

Database

Web Server HTTP

SQL

Routing

httphostportProductsView100

Arquitectura de ASP NET MVC 5

Routing

Decide que controlador responde a cada

peticioacuten

Basaacutendose en la URL

Mapea una peticioacuten a una accioacuten (meacutetodo

de un controlador)

Permite la creacioacuten de URLs personalizadas

con mucha facilidad

Arquitectura de ASP NET MVC 5

El patroacuten MVC (mas explicado)

Controlador

Responde a las peticiones http

Interactuacutea con el modelo

Pasa los datos a la vista

Modelo

Contiene la loacutegica de negocio y datos

Vista

Representa visualmente (HTML) unos datos

Arquitectura de ASP NET MVC 5

Controladores

Manejan la loacutegica de presentacioacuten

Son los que reciben las peticiones en

base a una URL

Derivan la peticioacuten a una accioacuten

Programaacuteticamente un meacutetodo

Arquitectura de ASP NET MVC 5

Action Results

Cada accioacuten de un controlador debe

devolver un resultado que es enviado al

browser

Ejemplos

ViewResult Devuelve una vista (html)

JsonResult Devuelve datos en json

FileResult Devuelve el contenido de un

fichero

Arquitectura de ASP NET MVC 5

Vistas Las vistas reciben datos del controlador y

muestran estos datos

Se implementan mediante paacuteginas aspx

Sin controles de servidor

Sin laquocode-behindraquo

Arquitectura de ASP NET MVC 5

Vistas parciales

Una vista parcial es una vista que se

muestra dentro de otra vista

Se implementan como controles ascx

Sin controles runat=laquoserverraquo

Sin code behind

Dan soporte para reutilizacioacuten y

composicioacuten

Arquitectura de ASP NET MVC 5

Helpers

ASPNET MVC viene con clases que

ayudan a generar HTML de forma maacutes

simple

La propiedad HTML de las vistas accede al

HtmlHelper que tiene meacutetodos para

generar coacutedigo HTML tiacutepico (pej Controles

html)

La propiedad AJAX de las vistas accede al

AjaxHelper que tiene meacutetodos para

generar coacutedigo para interactuar con la

Ajax Library

Arquitectura de ASP NET MVC 5

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Comparacioacuten de patrones

(1)

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Browser

Controller

View Model

Database

Web Server HTTP

SQL

Routing

httphostportProductsView100

Arquitectura de ASP NET MVC 5

Routing

Decide que controlador responde a cada

peticioacuten

Basaacutendose en la URL

Mapea una peticioacuten a una accioacuten (meacutetodo

de un controlador)

Permite la creacioacuten de URLs personalizadas

con mucha facilidad

Arquitectura de ASP NET MVC 5

El patroacuten MVC (mas explicado)

Controlador

Responde a las peticiones http

Interactuacutea con el modelo

Pasa los datos a la vista

Modelo

Contiene la loacutegica de negocio y datos

Vista

Representa visualmente (HTML) unos datos

Arquitectura de ASP NET MVC 5

Controladores

Manejan la loacutegica de presentacioacuten

Son los que reciben las peticiones en

base a una URL

Derivan la peticioacuten a una accioacuten

Programaacuteticamente un meacutetodo

Arquitectura de ASP NET MVC 5

Action Results

Cada accioacuten de un controlador debe

devolver un resultado que es enviado al

browser

Ejemplos

ViewResult Devuelve una vista (html)

JsonResult Devuelve datos en json

FileResult Devuelve el contenido de un

fichero

Arquitectura de ASP NET MVC 5

Vistas Las vistas reciben datos del controlador y

muestran estos datos

Se implementan mediante paacuteginas aspx

Sin controles de servidor

Sin laquocode-behindraquo

Arquitectura de ASP NET MVC 5

Vistas parciales

Una vista parcial es una vista que se

muestra dentro de otra vista

Se implementan como controles ascx

Sin controles runat=laquoserverraquo

Sin code behind

Dan soporte para reutilizacioacuten y

composicioacuten

Arquitectura de ASP NET MVC 5

Helpers

ASPNET MVC viene con clases que

ayudan a generar HTML de forma maacutes

simple

La propiedad HTML de las vistas accede al

HtmlHelper que tiene meacutetodos para

generar coacutedigo HTML tiacutepico (pej Controles

html)

La propiedad AJAX de las vistas accede al

AjaxHelper que tiene meacutetodos para

generar coacutedigo para interactuar con la

Ajax Library

Arquitectura de ASP NET MVC 5

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Arquitectura de ASP NET MVC 5

Browser

Controller

View Model

Database

Web Server HTTP

SQL

Routing

httphostportProductsView100

Arquitectura de ASP NET MVC 5

Routing

Decide que controlador responde a cada

peticioacuten

Basaacutendose en la URL

Mapea una peticioacuten a una accioacuten (meacutetodo

de un controlador)

Permite la creacioacuten de URLs personalizadas

con mucha facilidad

Arquitectura de ASP NET MVC 5

El patroacuten MVC (mas explicado)

Controlador

Responde a las peticiones http

Interactuacutea con el modelo

Pasa los datos a la vista

Modelo

Contiene la loacutegica de negocio y datos

Vista

Representa visualmente (HTML) unos datos

Arquitectura de ASP NET MVC 5

Controladores

Manejan la loacutegica de presentacioacuten

Son los que reciben las peticiones en

base a una URL

Derivan la peticioacuten a una accioacuten

Programaacuteticamente un meacutetodo

Arquitectura de ASP NET MVC 5

Action Results

Cada accioacuten de un controlador debe

devolver un resultado que es enviado al

browser

Ejemplos

ViewResult Devuelve una vista (html)

JsonResult Devuelve datos en json

FileResult Devuelve el contenido de un

fichero

Arquitectura de ASP NET MVC 5

Vistas Las vistas reciben datos del controlador y

muestran estos datos

Se implementan mediante paacuteginas aspx

Sin controles de servidor

Sin laquocode-behindraquo

Arquitectura de ASP NET MVC 5

Vistas parciales

Una vista parcial es una vista que se

muestra dentro de otra vista

Se implementan como controles ascx

Sin controles runat=laquoserverraquo

Sin code behind

Dan soporte para reutilizacioacuten y

composicioacuten

Arquitectura de ASP NET MVC 5

Helpers

ASPNET MVC viene con clases que

ayudan a generar HTML de forma maacutes

simple

La propiedad HTML de las vistas accede al

HtmlHelper que tiene meacutetodos para

generar coacutedigo HTML tiacutepico (pej Controles

html)

La propiedad AJAX de las vistas accede al

AjaxHelper que tiene meacutetodos para

generar coacutedigo para interactuar con la

Ajax Library

Arquitectura de ASP NET MVC 5

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Routing

httphostportProductsView100

Arquitectura de ASP NET MVC 5

Routing

Decide que controlador responde a cada

peticioacuten

Basaacutendose en la URL

Mapea una peticioacuten a una accioacuten (meacutetodo

de un controlador)

Permite la creacioacuten de URLs personalizadas

con mucha facilidad

Arquitectura de ASP NET MVC 5

El patroacuten MVC (mas explicado)

Controlador

Responde a las peticiones http

Interactuacutea con el modelo

Pasa los datos a la vista

Modelo

Contiene la loacutegica de negocio y datos

Vista

Representa visualmente (HTML) unos datos

Arquitectura de ASP NET MVC 5

Controladores

Manejan la loacutegica de presentacioacuten

Son los que reciben las peticiones en

base a una URL

Derivan la peticioacuten a una accioacuten

Programaacuteticamente un meacutetodo

Arquitectura de ASP NET MVC 5

Action Results

Cada accioacuten de un controlador debe

devolver un resultado que es enviado al

browser

Ejemplos

ViewResult Devuelve una vista (html)

JsonResult Devuelve datos en json

FileResult Devuelve el contenido de un

fichero

Arquitectura de ASP NET MVC 5

Vistas Las vistas reciben datos del controlador y

muestran estos datos

Se implementan mediante paacuteginas aspx

Sin controles de servidor

Sin laquocode-behindraquo

Arquitectura de ASP NET MVC 5

Vistas parciales

Una vista parcial es una vista que se

muestra dentro de otra vista

Se implementan como controles ascx

Sin controles runat=laquoserverraquo

Sin code behind

Dan soporte para reutilizacioacuten y

composicioacuten

Arquitectura de ASP NET MVC 5

Helpers

ASPNET MVC viene con clases que

ayudan a generar HTML de forma maacutes

simple

La propiedad HTML de las vistas accede al

HtmlHelper que tiene meacutetodos para

generar coacutedigo HTML tiacutepico (pej Controles

html)

La propiedad AJAX de las vistas accede al

AjaxHelper que tiene meacutetodos para

generar coacutedigo para interactuar con la

Ajax Library

Arquitectura de ASP NET MVC 5

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Routing

Decide que controlador responde a cada

peticioacuten

Basaacutendose en la URL

Mapea una peticioacuten a una accioacuten (meacutetodo

de un controlador)

Permite la creacioacuten de URLs personalizadas

con mucha facilidad

Arquitectura de ASP NET MVC 5

El patroacuten MVC (mas explicado)

Controlador

Responde a las peticiones http

Interactuacutea con el modelo

Pasa los datos a la vista

Modelo

Contiene la loacutegica de negocio y datos

Vista

Representa visualmente (HTML) unos datos

Arquitectura de ASP NET MVC 5

Controladores

Manejan la loacutegica de presentacioacuten

Son los que reciben las peticiones en

base a una URL

Derivan la peticioacuten a una accioacuten

Programaacuteticamente un meacutetodo

Arquitectura de ASP NET MVC 5

Action Results

Cada accioacuten de un controlador debe

devolver un resultado que es enviado al

browser

Ejemplos

ViewResult Devuelve una vista (html)

JsonResult Devuelve datos en json

FileResult Devuelve el contenido de un

fichero

Arquitectura de ASP NET MVC 5

Vistas Las vistas reciben datos del controlador y

muestran estos datos

Se implementan mediante paacuteginas aspx

Sin controles de servidor

Sin laquocode-behindraquo

Arquitectura de ASP NET MVC 5

Vistas parciales

Una vista parcial es una vista que se

muestra dentro de otra vista

Se implementan como controles ascx

Sin controles runat=laquoserverraquo

Sin code behind

Dan soporte para reutilizacioacuten y

composicioacuten

Arquitectura de ASP NET MVC 5

Helpers

ASPNET MVC viene con clases que

ayudan a generar HTML de forma maacutes

simple

La propiedad HTML de las vistas accede al

HtmlHelper que tiene meacutetodos para

generar coacutedigo HTML tiacutepico (pej Controles

html)

La propiedad AJAX de las vistas accede al

AjaxHelper que tiene meacutetodos para

generar coacutedigo para interactuar con la

Ajax Library

Arquitectura de ASP NET MVC 5

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

El patroacuten MVC (mas explicado)

Controlador

Responde a las peticiones http

Interactuacutea con el modelo

Pasa los datos a la vista

Modelo

Contiene la loacutegica de negocio y datos

Vista

Representa visualmente (HTML) unos datos

Arquitectura de ASP NET MVC 5

Controladores

Manejan la loacutegica de presentacioacuten

Son los que reciben las peticiones en

base a una URL

Derivan la peticioacuten a una accioacuten

Programaacuteticamente un meacutetodo

Arquitectura de ASP NET MVC 5

Action Results

Cada accioacuten de un controlador debe

devolver un resultado que es enviado al

browser

Ejemplos

ViewResult Devuelve una vista (html)

JsonResult Devuelve datos en json

FileResult Devuelve el contenido de un

fichero

Arquitectura de ASP NET MVC 5

Vistas Las vistas reciben datos del controlador y

muestran estos datos

Se implementan mediante paacuteginas aspx

Sin controles de servidor

Sin laquocode-behindraquo

Arquitectura de ASP NET MVC 5

Vistas parciales

Una vista parcial es una vista que se

muestra dentro de otra vista

Se implementan como controles ascx

Sin controles runat=laquoserverraquo

Sin code behind

Dan soporte para reutilizacioacuten y

composicioacuten

Arquitectura de ASP NET MVC 5

Helpers

ASPNET MVC viene con clases que

ayudan a generar HTML de forma maacutes

simple

La propiedad HTML de las vistas accede al

HtmlHelper que tiene meacutetodos para

generar coacutedigo HTML tiacutepico (pej Controles

html)

La propiedad AJAX de las vistas accede al

AjaxHelper que tiene meacutetodos para

generar coacutedigo para interactuar con la

Ajax Library

Arquitectura de ASP NET MVC 5

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Controladores

Manejan la loacutegica de presentacioacuten

Son los que reciben las peticiones en

base a una URL

Derivan la peticioacuten a una accioacuten

Programaacuteticamente un meacutetodo

Arquitectura de ASP NET MVC 5

Action Results

Cada accioacuten de un controlador debe

devolver un resultado que es enviado al

browser

Ejemplos

ViewResult Devuelve una vista (html)

JsonResult Devuelve datos en json

FileResult Devuelve el contenido de un

fichero

Arquitectura de ASP NET MVC 5

Vistas Las vistas reciben datos del controlador y

muestran estos datos

Se implementan mediante paacuteginas aspx

Sin controles de servidor

Sin laquocode-behindraquo

Arquitectura de ASP NET MVC 5

Vistas parciales

Una vista parcial es una vista que se

muestra dentro de otra vista

Se implementan como controles ascx

Sin controles runat=laquoserverraquo

Sin code behind

Dan soporte para reutilizacioacuten y

composicioacuten

Arquitectura de ASP NET MVC 5

Helpers

ASPNET MVC viene con clases que

ayudan a generar HTML de forma maacutes

simple

La propiedad HTML de las vistas accede al

HtmlHelper que tiene meacutetodos para

generar coacutedigo HTML tiacutepico (pej Controles

html)

La propiedad AJAX de las vistas accede al

AjaxHelper que tiene meacutetodos para

generar coacutedigo para interactuar con la

Ajax Library

Arquitectura de ASP NET MVC 5

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Action Results

Cada accioacuten de un controlador debe

devolver un resultado que es enviado al

browser

Ejemplos

ViewResult Devuelve una vista (html)

JsonResult Devuelve datos en json

FileResult Devuelve el contenido de un

fichero

Arquitectura de ASP NET MVC 5

Vistas Las vistas reciben datos del controlador y

muestran estos datos

Se implementan mediante paacuteginas aspx

Sin controles de servidor

Sin laquocode-behindraquo

Arquitectura de ASP NET MVC 5

Vistas parciales

Una vista parcial es una vista que se

muestra dentro de otra vista

Se implementan como controles ascx

Sin controles runat=laquoserverraquo

Sin code behind

Dan soporte para reutilizacioacuten y

composicioacuten

Arquitectura de ASP NET MVC 5

Helpers

ASPNET MVC viene con clases que

ayudan a generar HTML de forma maacutes

simple

La propiedad HTML de las vistas accede al

HtmlHelper que tiene meacutetodos para

generar coacutedigo HTML tiacutepico (pej Controles

html)

La propiedad AJAX de las vistas accede al

AjaxHelper que tiene meacutetodos para

generar coacutedigo para interactuar con la

Ajax Library

Arquitectura de ASP NET MVC 5

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Vistas Las vistas reciben datos del controlador y

muestran estos datos

Se implementan mediante paacuteginas aspx

Sin controles de servidor

Sin laquocode-behindraquo

Arquitectura de ASP NET MVC 5

Vistas parciales

Una vista parcial es una vista que se

muestra dentro de otra vista

Se implementan como controles ascx

Sin controles runat=laquoserverraquo

Sin code behind

Dan soporte para reutilizacioacuten y

composicioacuten

Arquitectura de ASP NET MVC 5

Helpers

ASPNET MVC viene con clases que

ayudan a generar HTML de forma maacutes

simple

La propiedad HTML de las vistas accede al

HtmlHelper que tiene meacutetodos para

generar coacutedigo HTML tiacutepico (pej Controles

html)

La propiedad AJAX de las vistas accede al

AjaxHelper que tiene meacutetodos para

generar coacutedigo para interactuar con la

Ajax Library

Arquitectura de ASP NET MVC 5

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Vistas parciales

Una vista parcial es una vista que se

muestra dentro de otra vista

Se implementan como controles ascx

Sin controles runat=laquoserverraquo

Sin code behind

Dan soporte para reutilizacioacuten y

composicioacuten

Arquitectura de ASP NET MVC 5

Helpers

ASPNET MVC viene con clases que

ayudan a generar HTML de forma maacutes

simple

La propiedad HTML de las vistas accede al

HtmlHelper que tiene meacutetodos para

generar coacutedigo HTML tiacutepico (pej Controles

html)

La propiedad AJAX de las vistas accede al

AjaxHelper que tiene meacutetodos para

generar coacutedigo para interactuar con la

Ajax Library

Arquitectura de ASP NET MVC 5

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Helpers

ASPNET MVC viene con clases que

ayudan a generar HTML de forma maacutes

simple

La propiedad HTML de las vistas accede al

HtmlHelper que tiene meacutetodos para

generar coacutedigo HTML tiacutepico (pej Controles

html)

La propiedad AJAX de las vistas accede al

AjaxHelper que tiene meacutetodos para

generar coacutedigo para interactuar con la

Ajax Library

Arquitectura de ASP NET MVC 5

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Modelo

El modelo contiene toda la loacutegica de

nuestra aplicacioacuten

Loacutegica de negocio

Acceso a datos

Los controladores interaccionan con el

modelo para obtener datos que son

pasados a las vistas

ViewModels

Arquitectura de ASP NET MVC 5

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Arquitectura de ASP NET MVC 5

Model

ControllerView

bullBrowser hace un request Products

bullLa ruta es determinada

bullEl controlador es

activadobullLa accioacuten del

controlador es

invocada

bullEl controlador realizaalguna loacutegica

bullSe entrega la vista

pasaacutendole ViewData

bullURLs son renderizadas

apuntando a otros

controladoras

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Desarrollo

Moacutedulo 1

Creacioacuten y estructura de un proyecto MVC

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Para crear un nuevo proyecto MVC 51 Diriacutejase al menuacute File ndash New - Project como se

muestra en la figura

Creacioacuten y estructura de un proyecto MVC

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

1 En las plantillas instaladas seleccionar Visual C Web

templates

2 Seleccione ASP NET Web Application e indique el

nombre de su aplicacioacuten Finalmente haga clic OK

Creacioacuten y estructura de un proyecto MVC

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Dialogo de nuevo proyecto ASP NET MVC

Creacioacuten y estructura de un proyecto MVC

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Application Templates

bull Empty

bull Web Forms

bull MVC

bull Web API

bull Single Page Application

bull Facebook

Folders + Core References

bull Web Forms

bull MVC

bull Web API

Change Authentication

No Authentication

Individual User Accounts

Organizational Accounts

Windows Authentication

Testing

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Creacioacuten y estructura de un proyecto MVC

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Creacioacuten y estructura de un proyecto MVC (1) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

App_Data Repositorio de archivos de datos que quieres leer o

escribir

App_Start Contiene clases de configuracioacuten a nivel de

aplicacioacuten (autenticacioacuten bundling global action

filters entre otros)

Content Repositorio de los archivos CSS e imaacutegenes y otros

contenidos no dinaacutemicos ni JavaScript

Controllers Repositorio de las clases Controller que se encargan

de las solicitudes de URL

fonts Contiene fuentes para Bootstrap

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Creacioacuten y estructura de un proyecto MVC (2) Carpetas de primer nivel por defecto (Basado en

convenciones)

Directorio Propoacutesito

Models Repositorio de clases que representan y manipulan

los datos y objetos de negocio

Scripts Repositorio de archivos de libreriacutea JavaScript y

scripts (js)

Views Repositorio para plantillas de archivos de UI que

son responsables para renderizacion por ejemplo

de HTML

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Desarrollo

Moacutedulo 1

Web Forms versus MVC

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

iquestQueacute hizo ASPNET por nosotros

Tomoacute las mejores praacutecticas de ASP

Hizo faacutecil el desarrollo

Siguioacute la senda de Visual Basic

Manejado por eventos

Expandioacute el entorno RAD a la Web

Orientado hacia la productividad

No exigioacute demasiados requerimientos de los

desarrolladores

No era necesario saber HTML ni JavaScript

Web Forms versus MVC

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

iquestQueacute es ASP NET MVC

Es la implementacioacuten de la arquitectura MVC para

ASP NET

Alternativa a Web Forms

Esta construido sobre ASP NET

Maneja el patroacuten laquoFront Controllerraquo

Expone la web tal como es

Web Forms versus MVC

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Metas de ASP NET MVC

Permitir una clara separacioacuten de

responsabilidades

Principio SRP

Altamente mantenible

Testeable por defecto

Permitir un control completo sobre el HTML

Habilitar URLs claras Amigable con REST

Optimizado para buscadores (SEO)

Basado en convenciones Convencioacuten sobre Configuracioacuten

Web Forms versus MVC

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Web Forms

Web Forms versus MVC

VENTAJAS DESVENTAJAS

Productividad No tiene SoC de manera natural

RAD Hay que lidiar con el ViewState

Programacioacuten con estado Probar paacuteginas es difiacutecil

Controles enriquecidos Procesamiento y renderizacioacuten

mezclados

Plataforma estable y madura Abstrae el JS y HTML (complica las

cosas con AJAX)

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

ASP NET MVCVENTAJAS DESVENTAJAS

Disentildeo claro con una ordenada

separacioacuten de intereses

Carece de un laquocomponent modelraquo

para hacer maacutes faacutecil el disentildeo

Una delgada pila de ejecucioacuten Exige de mayores laquoskillsraquo al

desarrollador

bull Mejor comprensioacuten de coacutemo

funciona la web

Control total sobre el HTML

Inclusive independencia de eacutel

Total extensibilidad en todas sus

partes

Permite el desarrollo orientado a

pruebas (TDD)

Web Forms versus MVC

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

iquestPor queacute escoger MVC Por una o varias de las siguientes razones

1 Para estudiarlo

2 Para escribir coacutedigo laquotesteableraquo

3 Para escribir coacutedigo bien disentildeado (capas

desacopladas)

4 Para entregar valor a tus clientes

5 Porque es el futuro y estaraacute bien posicionado

6 Porque es muy flexible y puede manejar

cambios

7 Porque te vuelve un mejor desarrollador

8 Porque permite control total sobre el HTML

Estilos Accesibilidad Compatibilidad entre

navegadores cumplimiento con

estaacutendares

Web Forms versus MVC

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Escenarios que pueden presentarse

iquestEn cuaacutel de ellos estas tuacute

1 Te gusta Web Forms y estas feliz con ello

2 Mayormente te gusta Web Forms pero no

estas del todo contento

3 Eres nuevo en ASP NET

4 Estas liderando un equipo de desarrollo

Web Forms versus MVC

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

1 Te gusta Web Forms y estas feliz

con ello Te sientes en control en ese modelo

No te preocupa demasiado el tema del

viewstate

No te preocupa mucho el tema de AJAX

y jQuery

Puedes aprovechar al maacuteximo la familia

de componentes visuales disponible

hellipQueacutedate con Web Forms

Web Forms versus MVC

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

2 Mayormente te gusta Web Forms pero no estas del todo contento

Te esfuerzas en mantener bajo control el

Viewstate

Quieres introducir mas JavaScript en las

paacuteginas

Te sientes restringido por las abstracciones

que el modelo impone

hellipConsidera usar ASP NET MVC

Web Forms versus MVC

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

3 Eres nuevo en ASP NET Y tienes experiencia suficiente en otros

frameworks

Deseas un buen nivel de aprendizaje

(MVC no tiene secretos)

hellipASP NET MVC es para ti

Web Forms versus MVC

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

4 Estas liderando un equipo de desarrollo ASP NET MVC laquocrearaquo las condiciones

para producir software de alta calidad

maacutes raacutepido

Puede tener o tener beneficio tangible

para el cliente

Tiene un inmediato ROI (Retorno de

inversioacuten) para ti y tu compantildeiacutea

hellipmigra tu equipo a ASP NET MVC

Web Forms versus MVC

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

Momento de tomar una decisioacuten

Si el requerimiento es laquotomar control sobre

el HTMLraquo ASP NET MVC es la respuesta

Se gasta tiempo arreglando cosas con

Web Forms

Ese tiempo se puede invertir en aprender

un enfoque arquitecturalmente superior

ASP NET MVC no es perfecto pero es

superior de lejos

Aprende a tu ritmo pero empieza

Web Forms versus MVC

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom

iquestQuieres maacutes informacioacutenTenemos cursos en liacutenea en diversas

modalidades

iexclContaacutectanos

wwwformativaperucom

ventasformativaperucom