Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ASP.NET 5 & MVC 6 (RC1)

2,652 views

Published on

Presentación sobre ASP.NET 5 & MVC 6 del evento Reconnect() 2015 en Sevilla

Published in: Software
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

ASP.NET 5 & MVC 6 (RC1)

  1. 1. ASP.NET 5 & MVC 6 Release Candidate 1
  2. 2. ASP.NET 5 & MVC 6 RC1 José M. Aguilar • Microsoft MVP desde 2011 • Desarrollador & consultor independiente • Autor y tutor de cursos online de MVC (CampusMVP) • Autor de “SignalR programming in Microsoft ASP.NET” (Microsoft Press) • Contacto: • Blog: www.variablenotfound.com • Twitter: @jmaguilar
  3. 3. ASP.NET 5 & MVC 6 RC1 Qué vamos a ver • Un poco de contexto • Lo nuevo de ASP.NET 5 • Lo nuevo de MVC 6
  4. 4. El Contexto De dónde venimos, a dónde vamos
  5. 5. ASP.NET 5 & MVC 6 RC1 ¡Casi 15 años de ASP.NET! Un poco de historia…
  6. 6. ASP.NET 5 & MVC 6 RC1 ASP.NET Web stack hoy Sites Web Forms Web Pages MVC Services Web API Signal R ASP.NET 4.x System.Web, aka “el monolito” .NET Framework 4.x Windows
  7. 7. ASP.NET 5 & MVC 6 RC1 ¿Y si partimos de cero? • Modularidad  Solo lo que usamos • Más productividad  F5 en browser • Mejor aprovechamiento del servidor • Más rápido (muy rápido!) • Reducción de memoria (90%) • Cloud-ready by default • Configuración, sesión, cache, file system • Debugging/tracing/logging local&cloud • Más control sobre la evolución • Paquetes Nuget para features y framework • Sin breaking changes por actualizaciones • Actualizaciones rápidas (zero-day fixes) • Libertad de editores y herramientas: • Visual Studio, Sublime, Notepad, Code, Editores en cloud… • Command line • Integración con 3rd party tools (npm, bower, gulp…) • Cross-platform • Windows, Linux & Mac • En desarrollo y explotación • Open source con contribuciones Microsoft Open Source Microsoft Mac & Linux
  8. 8. ASP.NET 5 & MVC 6 RC1 ASP.NET 5 Web stack Sites and services MVC Web Pages Realtime SignalR .NET Framework 4.x Windows .NET Core Cross-platform (Windows, Linux, Mac)
  9. 9. ASP.NET 5 RC1 Principales novedades
  10. 10. ASP.NET 5 & MVC 6 RC1 Novedades principales • Actual: RC1. Licencia “go-live” • RTM (prev) 1er trimestre 2016 • Estructura del proyecto: • Nuevos archivos y carpetas • R.I.P. Web.config & Global.asax • Project.json • Clase Startup • Referencias a paquetes Nuget • Pipeline y middlewares • Inyección de dependencias • Configuración • Y mucho más: logging, sesiones, cache, I18N, Kestrel/hosting, Antiforgery, file system, CORS, Webhooks, Identity, Node services, Web sockets, User secrets, command line tools…
  11. 11. ASP.NET 5 & MVC 6 RC1 Demo: Estructura del proyecto
  12. 12. ASP.NET 5 & MVC 6 RC1 Proceso de peticiones: pipeline y middlewares • Proceso de peticiones a través del pipeline de ASP.NET. • Pipeline = “tubería” Request Response • Ascienden las peticiones • Descienden las respuestas
  13. 13. ASP.NET 5 & MVC 6 RC1 Pipeline y middlewares • Middleware = “filtro” • Observan peticiones y respuestas • Pueden alterarlas • Dejan pasar (o no) las peticiones • Dejan pasar (o no) las respuestas • ¡El orden importa! Request Response Middleware Middleware Middleware
  14. 14. ASP.NET 5 & MVC 6 RC1 Demo: middleware “Hello world!”
  15. 15. ASP.NET 5 & MVC 6 RC1 Pipeline y middlewares • Añadimos solo los middlewares que necesitamos • Aplicaciones reales  varios middlewares • ASP.NET proporciona los más comunes Similar a lo que teníamos en ASP.NET <= 4.x: sesiones, seguridad, diagnóstico & control de errores, globalización… • Mecanismo extensible  custom middlewares, comunidad
  16. 16. ASP.NET 5 & MVC 6 RC1 Demo: middlewares
  17. 17. ASP.NET 5 & MVC 6 RC1 My Application Error Handling middleware Auth middleware ASP.NET MVC framework Static Files middleware Request Response IIS Platform Handler ¿Dónde encajan los frameworks? Los frameworks también añaden middlewares al pipeline: app.UseMvc();
  18. 18. MVC 6 RC1 Principales novedades
  19. 19. ASP.NET 5 & MVC 6 RC1 Novedades principales • Actual: RC1. Licencia “go-live” • RTM (prev) 1er trimestre 2016 • Construido sobre ASP.NET 5 (sin dependencias a System.Web) • Los principios siguen intactos • Casi todo lo que sabemos nos vale • Principalmente compatible a nivel de código • Algunas cosas que desaparecen: • Framework Web API • Child actions • Web forms view engine • Bundles  frameworks de frontend • Características nuevas: • Derivadas de la nueva infraestructura: • Inyección de dependencias, configuration, application start, logging… • View components • Tag helpers • Y mucho más: • POCO controllers, IActionResult, convenciones, filtros asíncronos, flush parciales, vistas asíncronas, object results…
  20. 20. ASP.NET 5 & MVC 6 RC1 Dependency injection en MVC • La “D” de los principios SOLID  Desacoplar componentes • Por defecto se usa el dependency resolver de ASP.NET 5 • Puede usar contenedores externos (Ninject, Autofac, Unity, StructureMap…) • Uso: • Registramos dependencias en ConfigureServices() de Startup • Consumimos desde componentes instanciables por el framework: • Controladores • Middlewares • Filtros • Vistas • …
  21. 21. ASP.NET 5 & MVC 6 RC1 Demo Dependency injection
  22. 22. ASP.NET 5 & MVC 6 RC1 View components • Objetivo: facilitar la construcción de elementos de vista con lógica reutilizables • Escenarios de uso: widget de información del usuario, cesta de la compra, últimas noticias, actividad reciente, etc. • Sustituyen a los helpers Action() y RenderAction() y las child actions • Mini-controlador especializado, con una única acción que retorna contenido • Implementación: • La clase que hereda de ViewComponent (en lugar de Controller) • La vista que retorna (también puede ser JSON, un string…) • La invocación desde las vistas/layouts con @Component.Invoke /InvokeAsync
  23. 23. ASP.NET 5 & MVC 6 RC1 Demo View component
  24. 24. ASP.NET 5 & MVC 6 RC1 Tag helpers • Objetivo: vistas más sencillas de escribir y de leer • Pueden sustituir a los HTML helpers • Sintaxis declarativa: • Procesado en servidor, antes de enviar el HTML al cliente • Permite: • Crear nuevas etiquetas • “Potenciar” etiquetas existentes • ASP.NET proporciona ~15 tag helpers <a asp-action="about" asp-controller="home" asp-protocol="https"> Ir a About </a>
  25. 25. ASP.NET 5 & MVC 6 RC1 Tag helpers: ejemplos HTML Helpers (MVC <=5) Tag Helpers (MVC >= 6) @Html.ActionLink("Enlace", "Index", "Home") <a asp-action="index" asp-controller=“home”> Enlace </a> @Html.ActionLink("Edit", "edit", "products", new { id=Model.Id }, new { id="mylink", @class="productlink", style="font-weight: bold" } ) <a asp-controller="products" asp-action="edit" asp-route-id="@Model.Id" id="mylink" class="productlink" style="font-weight: bold">Edit</a> @using (Html.BeginForm("Create", "Customer", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" })) { @Html.AntiForgeryToken() @Html.LabelFor(model => model.Name) @Html.TextBoxFor(model => model.Name) ... <!– Resto del formulario  } <form asp-controller="Account" asp-action="LogOff" method="post" id="logoutForm" class="navbar-right"> <label asp-for="Name"></label> <input type="text" asp-for="Name"> ... <!– Formulario  </form> ¡No son los <asp:tag runat=“server”> de Web Forms!
  26. 26. ASP.NET 5 & MVC 6 RC1 Demo tag helpers • Algunos tag helpers básicos: • <a> • <environment> • <link> • <script> • <cache> • Tag helpers personalizados • Más ejemplos: https://github.com/dpaquette/TagHelperSamples
  27. 27. ASP.NET 5 & MVC 6 RC1 Próximos pasos • Instalar: http://get.asp.net • Leer: https://docs.asp.net/ • Seguir de cerca: http://github.com/aspnet • Visitar mi blog http://www.variablenotfound.com
  28. 28. ASP.NET 5 & MVC 6 RC1
  29. 29. ASP.NET 5 & MVC 6 RC1 That’s all, folks! http://wallpapercave.com/w/LCTg3vr

×