SlideShare une entreprise Scribd logo
1  sur  29
ASP.NET 5 & MVC 6
Release Candidate 1
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
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
El Contexto
De dónde venimos, a dónde vamos
ASP.NET 5 & MVC 6 RC1
¡Casi 15 años de ASP.NET!
Un poco de historia…
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
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
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)
ASP.NET 5 RC1
Principales novedades
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…
ASP.NET 5 & MVC 6 RC1
Demo: Estructura del proyecto
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
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
ASP.NET 5 & MVC 6 RC1
Demo: middleware “Hello world!”
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
ASP.NET 5 & MVC 6 RC1
Demo: middlewares
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();
MVC 6 RC1
Principales novedades
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…
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
• …
ASP.NET 5 & MVC 6 RC1
Demo Dependency injection
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
ASP.NET 5 & MVC 6 RC1
Demo View component
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>
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!
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
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
ASP.NET 5 & MVC 6 RC1
ASP.NET 5 & MVC 6 RC1
That’s all, folks!
http://wallpapercave.com/w/LCTg3vr

Contenu connexe

Tendances

ASP.NET MVC (2011)
ASP.NET MVC (2011)ASP.NET MVC (2011)
ASP.NET MVC (2011)wildtango
 
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4Rodolfo Finochietti
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaJorge Pacheco Mengual
 
Asp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveAsp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveEduard Tomàs
 
Security in MVC Core by Hugo Biarge
Security in MVC Core by Hugo BiargeSecurity in MVC Core by Hugo Biarge
Security in MVC Core by Hugo BiargePlain Concepts
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Oscar Gensollen
 
Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010Gonzalo C.
 
Plainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsPlainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsCarlos Landeras Martínez
 
Web matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_uno
Web matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_unoWeb matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_uno
Web matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_unoGonzalo C.
 
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk   AWS Roadshow Bogota MexicoIntroduccion a Elastic Beanstalk   AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk AWS Roadshow Bogota MexicoHermann Pais
 
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010Desarrollos NEA
 
NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017Diego Bersano
 

Tendances (20)

ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
ASP.NET MVC Core
ASP.NET MVC CoreASP.NET MVC Core
ASP.NET MVC Core
 
ASP.NET MVC (2011)
ASP.NET MVC (2011)ASP.NET MVC (2011)
ASP.NET MVC (2011)
 
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en Autentia
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
Asp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveAsp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep Dive
 
Security in MVC Core by Hugo Biarge
Security in MVC Core by Hugo BiargeSecurity in MVC Core by Hugo Biarge
Security in MVC Core by Hugo Biarge
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5
 
Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010
 
Creando APIs REST con Spring Boot
Creando APIs REST con Spring BootCreando APIs REST con Spring Boot
Creando APIs REST con Spring Boot
 
Mvc4 Intro
Mvc4 IntroMvc4 Intro
Mvc4 Intro
 
Plainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsPlainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time Applications
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
Springboot Overview
Springboot  OverviewSpringboot  Overview
Springboot Overview
 
Web matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_uno
Web matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_unoWeb matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_uno
Web matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_uno
 
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk   AWS Roadshow Bogota MexicoIntroduccion a Elastic Beanstalk   AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico
 
Mvc
MvcMvc
Mvc
 
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010
 
NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017
 

En vedette

Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013Thomas Robbins
 
Atd 2015 asp.net web hooks
Atd 2015   asp.net web hooksAtd 2015   asp.net web hooks
Atd 2015 asp.net web hooksNETMedia
 
Webhooks & Asp.Net
Webhooks & Asp.NetWebhooks & Asp.Net
Webhooks & Asp.NetNarato
 
Trabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NETTrabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NETAndre Baltieri
 
Su 37 Park Jet Plans (Parts Templates 28 In Span)
Su 37 Park Jet Plans (Parts Templates  28 In Span)Su 37 Park Jet Plans (Parts Templates  28 In Span)
Su 37 Park Jet Plans (Parts Templates 28 In Span)guestb64bf3
 
Museu paula calafare-b4
Museu   paula calafare-b4Museu   paula calafare-b4
Museu paula calafare-b4eb1penha4
 
Michael Speltz Defining Critical Factors in Executive Coaching
Michael Speltz Defining Critical Factors in Executive CoachingMichael Speltz Defining Critical Factors in Executive Coaching
Michael Speltz Defining Critical Factors in Executive CoachingMichael Speltz
 
Infrastructure as Data with Ansible
Infrastructure as Data with AnsibleInfrastructure as Data with Ansible
Infrastructure as Data with AnsibleCarlo Bonamico
 
Correo neumático Guadalajara. Tips para disminuir el stress empresarial
Correo neumático Guadalajara. Tips para disminuir el stress empresarialCorreo neumático Guadalajara. Tips para disminuir el stress empresarial
Correo neumático Guadalajara. Tips para disminuir el stress empresarialPaola Lara
 
Direccionamiento IP
Direccionamiento IPDireccionamiento IP
Direccionamiento IPgiovanni329
 
DEMO_Redfaire AP Automation SHORT
DEMO_Redfaire AP Automation SHORTDEMO_Redfaire AP Automation SHORT
DEMO_Redfaire AP Automation SHORTStuart McDonnell
 
iCubio catlog-july 2015
iCubio catlog-july 2015iCubio catlog-july 2015
iCubio catlog-july 2015Amanda Guo
 
PLUS ULTRA: DEL PUERTO DE PALOS A BUENOS AIRES-Enrique F. Widmann-Miguel-4ta....
PLUS ULTRA: DEL PUERTO DE PALOS A BUENOS AIRES-Enrique F. Widmann-Miguel-4ta....PLUS ULTRA: DEL PUERTO DE PALOS A BUENOS AIRES-Enrique F. Widmann-Miguel-4ta....
PLUS ULTRA: DEL PUERTO DE PALOS A BUENOS AIRES-Enrique F. Widmann-Miguel-4ta....Carlos Cueto
 

En vedette (20)

Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013
 
Ejercicio basico en asp.net LOZADA ERICK
Ejercicio basico en asp.net LOZADA ERICKEjercicio basico en asp.net LOZADA ERICK
Ejercicio basico en asp.net LOZADA ERICK
 
New and improved ASP.NET MVC 5
New and improved ASP.NET MVC 5New and improved ASP.NET MVC 5
New and improved ASP.NET MVC 5
 
Atd 2015 asp.net web hooks
Atd 2015   asp.net web hooksAtd 2015   asp.net web hooks
Atd 2015 asp.net web hooks
 
WebHooks no ASP.NET
WebHooks no ASP.NETWebHooks no ASP.NET
WebHooks no ASP.NET
 
Webhooks & Asp.Net
Webhooks & Asp.NetWebhooks & Asp.Net
Webhooks & Asp.Net
 
Trabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NETTrabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NET
 
Asp.Net MVC 5
Asp.Net MVC 5Asp.Net MVC 5
Asp.Net MVC 5
 
Su 37 Park Jet Plans (Parts Templates 28 In Span)
Su 37 Park Jet Plans (Parts Templates  28 In Span)Su 37 Park Jet Plans (Parts Templates  28 In Span)
Su 37 Park Jet Plans (Parts Templates 28 In Span)
 
Museu paula calafare-b4
Museu   paula calafare-b4Museu   paula calafare-b4
Museu paula calafare-b4
 
Michael Speltz Defining Critical Factors in Executive Coaching
Michael Speltz Defining Critical Factors in Executive CoachingMichael Speltz Defining Critical Factors in Executive Coaching
Michael Speltz Defining Critical Factors in Executive Coaching
 
Infrastructure as Data with Ansible
Infrastructure as Data with AnsibleInfrastructure as Data with Ansible
Infrastructure as Data with Ansible
 
Ksmith 7 2 07
Ksmith 7 2 07Ksmith 7 2 07
Ksmith 7 2 07
 
Correo neumático Guadalajara. Tips para disminuir el stress empresarial
Correo neumático Guadalajara. Tips para disminuir el stress empresarialCorreo neumático Guadalajara. Tips para disminuir el stress empresarial
Correo neumático Guadalajara. Tips para disminuir el stress empresarial
 
Direccionamiento IP
Direccionamiento IPDireccionamiento IP
Direccionamiento IP
 
Un país en transición. mundo rural
Un país en transición. mundo ruralUn país en transición. mundo rural
Un país en transición. mundo rural
 
DEMO_Redfaire AP Automation SHORT
DEMO_Redfaire AP Automation SHORTDEMO_Redfaire AP Automation SHORT
DEMO_Redfaire AP Automation SHORT
 
iCubio catlog-july 2015
iCubio catlog-july 2015iCubio catlog-july 2015
iCubio catlog-july 2015
 
Web 0.2
Web 0.2Web 0.2
Web 0.2
 
PLUS ULTRA: DEL PUERTO DE PALOS A BUENOS AIRES-Enrique F. Widmann-Miguel-4ta....
PLUS ULTRA: DEL PUERTO DE PALOS A BUENOS AIRES-Enrique F. Widmann-Miguel-4ta....PLUS ULTRA: DEL PUERTO DE PALOS A BUENOS AIRES-Enrique F. Widmann-Miguel-4ta....
PLUS ULTRA: DEL PUERTO DE PALOS A BUENOS AIRES-Enrique F. Widmann-Miguel-4ta....
 

Similaire à ASP.NET 5 & MVC 6 (RC1)

Introducción a ASPNET vNext
Introducción a ASPNET vNextIntroducción a ASPNET vNext
Introducción a ASPNET vNextJulito Avellaneda
 
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...Andrés Iturralde
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptxSibilinoAndante
 
ASP.NET 5 & Tag Helpers
ASP.NET 5 & Tag HelpersASP.NET 5 & Tag Helpers
ASP.NET 5 & Tag HelpersMarc Rubiño
 
Introducción a Cake PHP Framework
Introducción a Cake PHP FrameworkIntroducción a Cake PHP Framework
Introducción a Cake PHP FrameworkJomicast
 
Visual Studio 2010 Launch - ASP.NET 4.0
Visual Studio 2010 Launch - ASP.NET 4.0Visual Studio 2010 Launch - ASP.NET 4.0
Visual Studio 2010 Launch - ASP.NET 4.0kementeus
 
Mvc + html5 + css3
Mvc + html5 + css3Mvc + html5 + css3
Mvc + html5 + css3Marc Rubiño
 
Introducción a ASP.NET MVC
Introducción a ASP.NET MVCIntroducción a ASP.NET MVC
Introducción a ASP.NET MVCSebastián Rocco
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webRoberto Sanz Ciriano
 
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineAplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineMario Cortés Flores
 
Aplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScriptAplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScriptLuis Guerrero
 
Introduccion a elastic beanstalk aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexicoIntroduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk aws roadshow bogota mexicoAmazon Web Services LATAM
 
Share point 2010 office 2010 y owa
Share point 2010 office 2010 y owaShare point 2010 office 2010 y owa
Share point 2010 office 2010 y owaEva Ordoñez Perez
 

Similaire à ASP.NET 5 & MVC 6 (RC1) (20)

Introducción a ASPNET vNext
Introducción a ASPNET vNextIntroducción a ASPNET vNext
Introducción a ASPNET vNext
 
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
 
ASP.NET 5 & Tag Helpers
ASP.NET 5 & Tag HelpersASP.NET 5 & Tag Helpers
ASP.NET 5 & Tag Helpers
 
Introducción a Cake PHP Framework
Introducción a Cake PHP FrameworkIntroducción a Cake PHP Framework
Introducción a Cake PHP Framework
 
Visual Studio 2010 Launch - ASP.NET 4.0
Visual Studio 2010 Launch - ASP.NET 4.0Visual Studio 2010 Launch - ASP.NET 4.0
Visual Studio 2010 Launch - ASP.NET 4.0
 
Mvc + html5 + css3
Mvc + html5 + css3Mvc + html5 + css3
Mvc + html5 + css3
 
Introducción a vnext
Introducción a vnextIntroducción a vnext
Introducción a vnext
 
Introducción a ASP.NET MVC
Introducción a ASP.NET MVCIntroducción a ASP.NET MVC
Introducción a ASP.NET MVC
 
Practica03 desarrolloweb
Practica03 desarrollowebPractica03 desarrolloweb
Practica03 desarrolloweb
 
Iniciación Con CakePHP
Iniciación Con CakePHPIniciación Con CakePHP
Iniciación Con CakePHP
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones web
 
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineAplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
 
Aplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScriptAplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScript
 
Manualcake
ManualcakeManualcake
Manualcake
 
Introducción a Asp.Net Mvc
Introducción a Asp.Net MvcIntroducción a Asp.Net Mvc
Introducción a Asp.Net Mvc
 
Introduccion a elastic beanstalk aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexicoIntroduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk aws roadshow bogota mexico
 
Share point 2010 office 2010 y owa
Share point 2010 office 2010 y owaShare point 2010 office 2010 y owa
Share point 2010 office 2010 y owa
 
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web
 

Dernier

Tipos de pensamiento y pensamiento lógico
Tipos de pensamiento y pensamiento lógicoTipos de pensamiento y pensamiento lógico
Tipos de pensamiento y pensamiento lógicoMaxCaldern2
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxcalzadillasluis134
 
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosBBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosNeo4j
 
Estructura del lenguaje c++. Operaciones básicas y su jerarquía aplicada en e...
Estructura del lenguaje c++. Operaciones básicas y su jerarquía aplicada en e...Estructura del lenguaje c++. Operaciones básicas y su jerarquía aplicada en e...
Estructura del lenguaje c++. Operaciones básicas y su jerarquía aplicada en e...FabianCruz73
 
Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.CZSOTEC
 
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...Neo4j
 
Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptxmaykolmagallanes012
 
SQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxSQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxRAMIROANTONIOGALINDO
 
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Neo4j
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOELIAMARYTOVARFLOREZD
 
Webinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfWebinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfAnaRosaMontenegro
 

Dernier (11)

Tipos de pensamiento y pensamiento lógico
Tipos de pensamiento y pensamiento lógicoTipos de pensamiento y pensamiento lógico
Tipos de pensamiento y pensamiento lógico
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
 
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosBBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
 
Estructura del lenguaje c++. Operaciones básicas y su jerarquía aplicada en e...
Estructura del lenguaje c++. Operaciones básicas y su jerarquía aplicada en e...Estructura del lenguaje c++. Operaciones básicas y su jerarquía aplicada en e...
Estructura del lenguaje c++. Operaciones básicas y su jerarquía aplicada en e...
 
Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.
 
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
 
Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptx
 
SQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxSQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptx
 
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
 
Webinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfWebinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdf
 

ASP.NET 5 & MVC 6 (RC1)

  • 1. ASP.NET 5 & MVC 6 Release Candidate 1
  • 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. 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. El Contexto De dónde venimos, a dónde vamos
  • 5. ASP.NET 5 & MVC 6 RC1 ¡Casi 15 años de ASP.NET! Un poco de historia…
  • 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. 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. 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)
  • 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. ASP.NET 5 & MVC 6 RC1 Demo: Estructura del proyecto
  • 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. 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. ASP.NET 5 & MVC 6 RC1 Demo: middleware “Hello world!”
  • 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. ASP.NET 5 & MVC 6 RC1 Demo: middlewares
  • 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();
  • 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. 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. ASP.NET 5 & MVC 6 RC1 Demo Dependency injection
  • 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. ASP.NET 5 & MVC 6 RC1 Demo View component
  • 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. 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. 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. 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. ASP.NET 5 & MVC 6 RC1
  • 29. ASP.NET 5 & MVC 6 RC1 That’s all, folks! http://wallpapercave.com/w/LCTg3vr