Asp.Net vNext - La revolución que viene

Post on 24-Jan-2015

518 views 0 download

description

Un repaso a lo que trae de nuevo ASP.NET vNext y como cambia el desarrollo de las aplicaciones web en tecnologías Microsoft.

Transcript of Asp.Net vNext - La revolución que viene

ASP.NET vNext(Vídeo en https://www.youtube.com/watch?v=mJCbxjkI_5A)

09 / Sep / 2014

La revolución que viene...

¿Quien soy yo?

Eduard Tomàs i Avellana

Key consultant en Pasiona (www.Pasiona.com)

Divulgador tecnológico en la fundación [T]echdencias (www.techdencias.net)

Colaborador en Escuela IT (www.escuela.it)

Microsoft MVP en IIS/ASP.NET (2012-2014)

Twitter: @eiximenis

Blog: http://geeks.ms/blogs/etomas

Historia del desarrollo web en MS

Tiempos antiguos (1996 – 2000) – ASP

Época Legacy(2002 – 2009) – ASP.NET con el modelo de Webforms Abarca VS.NET (2002) – VS2010

Época Moderna (2009 – 2013) – ASP.NET con el modelo MVC Modelo webforms continúa estando activo y evolucionando

ASP.NET MVC (2009 – actualidad) se va convirtiendo en el framework “preferido”

ASP.NET WebApi (2011 – actualidad) para construcción de Servicios “REST”

Época Actual (2013 – 2014) – OWIN / Katana

Época (no tan) futura (2014 - ...) – ASP.NET vNext Visual Studio 14 CTP3

ASP.NET vNext

Reescritura total de ASP.NET

Incompatible a nivel de código con versiones anteriores

ASP.NET MVC y ASP.NET WebApi se “unifican” en una sola API (ASP.NET MVC6)

Webforms queda fuera

Open Source (https://github.com/aspnet)

Entity Framework 7 se incluye dentro del paraguas de ASP.NET vNext

.NET vNext

Incluirá un CLR optimizado para cloud

Desplegable side-by-side a través de NuGet

Las aplicaciones ASP.NET vNext podran desplegar su propio CLR e instalarlo a través de NuGet

K-Tools

KVM – K Version Manager – Gestor de versiones de ASP.NET vNext

KRE – K Runtime Environment – Bootstrapper de ASP.NET vNext

KPM – K Package Manager – Gestor de paquetes de ASP.NET vNext. Basado en NuGet

K – Para ejecutar el proyecto, construirlo, etc... K run

K build

...

Demo

HelloWorldConsole

Visual Studio 14 CTP3

Único Visual Studio en la actualidad con soporte para vNext

No se puede instalar side by side con ningún otro VS

El nuevo project.json

Fichero de proyecto propio de ASP.NET vNext

Contiene Las referencias (paquetes NuGet)

Los comandos válidos que se pueden lanzar con “K”

Configuración

Frameworks sobre los cuales puede correr la aplicación (.NET Fwk, K runtime, Mono,...)

Configuración

web.config ha muerto.

Nuevo framework de configuración con soporte para json, command line, xml

Configuración”hardcoded” en código... Bienvenido a un mundo gobernado por Roslyn

Modifica el código... Y refresca el browser

Roslyn

Nueva tecnologia de .NET que permite compilar on-the-fly

Usada intensamente en ASP.NET vNext

http://msdn.microsoft.com/en-us/vstudio/roslyn.aspx

Open source: https://roslyn.codeplex.com/

Demo

Modificación de código.... ¡et voilá!

Inicialización

Las aplicaciones vNext se inicializan en el método Configure de la clase Startup

Dicho método recibe un IBuilder que representa la aplicación para configurarla

No existe Global.asax

Middlewares vNext

ASP.NET vNext sigue la idea de OWIN de dividir los componentes de la aplicación en middlewares Autenticación, Logging, incluso MVC son middlewares

Los middlewares se distribuyen a través de paquetes NuGet

Los middlewares se cargan a través de IBuilder (en el método configure de la clase Startup). Usualmente a través de un método de extensión AddXXXX()

ASP.NET MVC6

Unifica ASP.NET MVC y WebApi en una única API que se puede usar tanto para crear aplicaciones Web como servicios REST

Modelo de desarrollo muy parecido a ASP.NET MVC

Inyección de dependencias

La inyección de dependencias está incluída de serie en el framework

No es necesario extender nada, redefinir nada, o usar un contenedor IoC específico

Demo

Construcción de una app web vNext desde cero

Entity Framework 7

La nueva versión del ORM de MS se incluye dentro de ASP.NET vNext

Totalmente reescrito desde cero

Incompatible con las versiones anteriores

Basado en code first y migrations

... Y para terminar

Añadir que ASP.NET vNext es cross platform

Si quieres, y puedes, te invito que te pases por el CodeMotion en Madrid los días 21 y 22 de Noviembre donde daré una charla de ASP.NET vNext... ¡en OSX!

http://2014.codemotion.es/es/agenda.html#day2/aspnet-vnext-el-futuro-del-desarrollo-web-en-net

¡Muchas gracias!

Eduard Tomàs i Avellana

Key consultant en Pasiona (www.Pasiona.com)

Divulgador tecnológico en la fundación [T]echdencias (www.techdencias.net)

Colaborador en Escuela IT (www.escuela.it)

Microsoft MVP en IIS/ASP.NET (2012-2014)

Twitter: @eiximenis

Blog: http://geeks.ms/blogs/etomas