ASP.NET MVC Workshop Día 1

4,635 views

Published on

Introducción a ASP.NET y otras tecnologías asociadas

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,635
On SlideShare
0
From Embeds
0
Number of Embeds
3,888
Actions
Shares
0
Downloads
40
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • ViewEngine:- Componente de ASP.NET que se encarga de renderizar vistasActualmente, la gran mayoría de la gente utiliza el motor clasico de ASP.NET con “<% %>”Esta es una alternativa a ese motor
  • Objetivo principal de Razor: ahorrar teclas. Que sea mas fácil y rápido armar sitios con ASP.NET MVCPara eso es:CompactoSencilloPoco intrusivo, “amigo del HTML”No hay que aprender un lenguaje nuevo! Se programa con C# o VB.NET
  • ASP.NET MVC Workshop Día 1

    1. 1. Workshop ASP.NET MVC Día 1 Rodolfo Finochietti MVP ASP.NET/IIS Lagash Systems rodolfof@lagash.com @rodolfof
    2. 2. Agenda • Arquitectura – Web – ASP.NET • Introducción a ASP.NET MVC • Acciones y Rutas • Controladores • Vistas – Razor • Model Binding
    3. 3. Arquitectura Web en .NET
    4. 4. Por que construir aplicaciones Web: Es facil
    5. 5. Arquitectura Web http://www.w3.org/TR/webarch
    6. 6. ¿Cómo funciona HTTP?
    7. 7. ASP.NET APIs de Servicios para Aplicaciones Membership Role Manager Personalization Site Navigation Database Caching Health Monitoring Arquitectura de ASP.NET
    8. 8. ASP.NET APIs de Servicios para Aplicaciones Membership Role Manager Personalization Site Navigation Database Caching Health Monitoring ASP.NET “Page Framework” Arquitectura de ASP.NET Master Pages Themes/Skins Client ScriptingLocalization
    9. 9. ASP.NET APIs de Servicios para Aplicaciones Membership Role Manager Personalization Site Navigation Database Caching Health Monitoring ASP.NET MVC Arquitectura de ASP.NET Model Binders View Engines Mobile RenderAjax Support
    10. 10. Demo Arquitectura ASP.NET
    11. 11. Introducción a ASP.NET MVC
    12. 12. Modelo-Vista-Controlador Model ControllerView Xerox PARC 1978 http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html
    13. 13. ASP.NET MVC • Un framework para Web Development • Más control sobre el HTML – Más Web-Frendly • Más testeable • Pensado para no ocular la naturaleza de la arquitectura Web • Esta construido sobre en ASP.NET
    14. 14. ¿Que ofrece? • SoC (Separation of Concerns) – TDD por default – Mantenibilidad • Url y HTML mas limpio – SEO y REST friendly • /Usuarios/Buscar/Rodolfo – CSS Friendly • <html> <div> <label> <span> • Modelo de programación mas performante – No hay ViewState – No hay modelo de eventos
    15. 15. ¿Como trabaja? Navego a http://.../Productos/Listar Se determina la ruta El controller Productos es creado Un método Listar del controller es invocado Se ejecuta la logica del controller Se dibuja la vista pasándole la ViewData Se dibujan Urls que apuntan a otras acciones de otros controllers
    16. 16. Rutas www.sitio.com/products/reports/1/06/2008
    17. 17. URLs amigables • Legibles – www.sitio.com/products.aspx?module=reports&productId =1&&month=6year=2008  – www.sitio.com/products/report/1/6/2008  • Predecibles – http://es.wikipedia.org/wiki/Lagash
    18. 18. Controlador – Uso Básico • Escenarios, Objetivos y Diseño – Las URLs indican “acciones” del Controlador, no páginas – Las acciones deben declarase en el Controlador. – El controlador ejecuta lógica y elige la vista. public ActionResult ShowPost(int id) { Post p = PostRepository.GetPostById(id); if (p != null) { View(p); } else { View("nosuchpost", id); } }
    19. 19. Demo Rutas y Controladores
    20. 20. Vistas – Uso Básico • Escenarios, Objetivos y Diseño: – Generan HTML u otro tipo de contenido. • Helpers pre-definidos. – Pueden ser .ASPX, .ASCX, .MASTER, etc. – Pueden reemplazarse con otras tecnologías: • Template engines (NVelocity, Spark, …). • Formatos de salida (images, RSS, JSON, …). • Pueden definirse vistas Mock para testing. – El controlador ofrece datos a la Vista • Datos Loosely typed o Strongly Typed .
    21. 21. ¿Un View… que? • Encargado de Renderizar vistas – HTML – Javascript • Alternativa a “<% %>”
    22. 22. Objetivos de Razor • Compacto • Sencillo • “Amigo del HTML” • ¡Ya conocemos el lenguaje!
    23. 23. Demo Vistas y Razor
    24. 24. Model Binding Enlazar automáticamente de elementos HTML a propiedades de un objeto (incluyendo su creación)
    25. 25. Binding manual
    26. 26. Binding automático
    27. 27. Demo Modelos Model Binding
    28. 28. Work Time
    29. 29. Contacto • Mail: – rodolfof@lagash.com • Blogs: – http://shockbyte.net • Twitter: – @rodolfof
    30. 30. ¡Gracias!

    ×