Download - Desarrollo Web con ASP.NET MVC
![Page 1: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/1.jpg)
Desarrollo de Aplicaciones Web
ASP.NET MVC
Angel Núñez Salazar@snahider
![Page 2: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/2.jpg)
Regresemos a lo Básico
![Page 3: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/3.jpg)
Model – View - Controller
View
Controller Model BD
Request
Response
HTTP
HTML
Patrón arquitectónico usado para separar una aplicación en por lo menos 3 partes principales.
![Page 4: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/4.jpg)
.NET MVC Frameworks
Maverick.NEThttp://mavnet.sourceforge.net/
MonoRailhttp://www.castleproject.org/MonoRail/
FubuMVChttp://fubumvc.com/
...…
… y ASP.NET MVC de Microsoft
![Page 5: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/5.jpg)
Qué es ASP.NET MVC
« ASP.NET MVC es una framework de desarrollo web open source, que combina la
efectividad y ventajas de una arquitectura MVC , prácticas del desarrollo ágil y las mejores partes
de la plataforma ASP.NET existente »
![Page 6: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/6.jpg)
ASP.NET Framework
.NET Framework
ASP.NET Core(Caching, Sessions, Security
Cookies, QueryString, Master Pages)
ASP.NET WebFormsASP.NET MVC
![Page 7: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/7.jpg)
DemoExplorando un nuevo proyecto ASP.NET MVC
![Page 8: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/8.jpg)
¿Porqué utilizar ASP.NET MVC?
• Si ya tienes una aplicación solida, estable y que genera ganancias, no hay necesidad para realizar un cambio.
• Menos fricción y mayor seguridad al momento de realizar cambios.
• Es muy fácil de adoptar y aprender lo que facilita encontrar nueva ayuda para el negocio.
• Retar a tus desarrolladores más hábiles.
Razones de Negocio
![Page 9: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/9.jpg)
¿Porqué utilizar ASP.NET MVC?Razones Técnicas
![Page 10: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/10.jpg)
1.- Arquitectura flexible y extensible
Request
HTTP Routing
Route HTTP Handler
Route Handler
Controller Factory
ControllerView
Engine
View
Reponse
![Page 11: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/11.jpg)
2.- Testeabilidad• Cualquier Unit Testing Framework es soportada.
- NUnit, MSTest, MBUnit, XUnit.Net
• Partes específicas de la framework son fácilmente mockeables.
• Facilita la aplicación de prácticas ágiles.
![Page 12: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/12.jpg)
3.- Aplicación de otros conceptos
![Page 13: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/13.jpg)
4.- Control sobre el HTML
• ASP.NET MVC reconoce la importancia de producir HTML limpio, semántico y compatible con los estándares.
• Fácil integración con herramientas a nivel de cliente.
![Page 14: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/14.jpg)
4.- Control sobre el HTML (cont.)
• El nuevo Razor View Engine
![Page 15: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/15.jpg)
5.- RoutingURLs amigables y SEO
![Page 16: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/16.jpg)
5.- Routing (cont.)
• Las Urls no corresponden a archivos ya que los request son manejados por los controllers.
• Completo control de las URLs permitiendo cualquier patron de mapeo URL – controller.
• El sistema de ruteo fue diseñado para ASP.NET MVC pero está en «system.web.routing» permitiendo su uso por WebForms.
![Page 17: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/17.jpg)
6.- Convention over ConfigurationGoodbye XML Hell
“From now on anyone who considers themselves to be a serious professional must refuse to write another
line of XML. When asked, say NO”
Robert C. Martin (Uncle Bob)
![Page 18: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/18.jpg)
6.- Convention over Configuration (cont.)
IOCRouting
ControllersActions
Model Mapping
Views
![Page 19: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/19.jpg)
7.- Community and Environment• Gran cantidad de proyectos creados alrededor de MVC
• Conferencias y encuentros continuos.
• Actualmente existen 241 resultados para "ASP.NET MVC" dentro de
![Page 20: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/20.jpg)
8.- Open Source• ASP.NET MVC ha sido liberado bajo MS-PL que es una
licencia open source aprobada por la OSI.
• Podemos descargar el código original e inclusive modificarlo y compilar una nueva versión de el.
• Depurar componentes del sistema y navegar por el código para entenderlo o ver las posibilidades de desarrollo.
![Page 21: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/21.jpg)
ASP.NET "Tradicional" - WebForms
ASP.NET significó un gran cambio cuando apareció por primera vez ya que pretendía cerrar la brecha entre el desarrollo en windows y el desarrollo web.
• Jerarquía de controles que renderizaban automáticamente HTML.
• UI que mantenía su estado y orientada a eventos lo que permitía al desarrollador despreocuparse de las llamadas y respuestas HTTP.
![Page 22: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/22.jpg)
¿ Cuál es el problema con el uso de WebForms ?
• ViewState
• Page LifeCycle
• Limitado control del HTML
• Casi imposible de realizar test unitarios..
![Page 23: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/23.jpg)
¿ WebForms o MVC ?No existe tal pregunta,la elección es siempre
MVC
![Page 24: Desarrollo Web con ASP.NET MVC](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55799a2ed8b42ae72b8b5234/html5/thumbnails/24.jpg)
RecursosAprendiendo ASP.NET MVC• ASP.NET MVC official site - http://www.asp.net/mvc• Community For MVC - http://www.c4mvc.net
Mantenerse al día con los cambios en ASP.NET MVC• Phil Haack’s Blog - http://haacked.com• Scott Guthrie’s Blog - http://weblogs.asp.net/scottgu
ASP.NET MVC avanzado• Sharp Architecture - http://sharparchitecture.net• Who Can Help Me? - http://whocanhelpme.codeplex.com
Email: [email protected]: http://snahider.blogspot.com
Twitter: @snahider