Upload
oscar-gensollen
View
535
Download
2
Tags:
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