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

Asp.Net vNext - La revolución que viene

  • 1.
    ASP.NET vNext (Vídeoen https://www.youtube.com/watch?v=mJCbxjkI_5A) 09 / Sep / 2014 La revolución que viene...
  • 2.
    ¿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
  • 4.
    Historia del desarrolloweb 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
  • 5.
    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
  • 6.
    .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
  • 7.
    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  ...
  • 8.
  • 9.
    Visual Studio 14CTP3  Único Visual Studio en la actualidad con soporte para vNext  No se puede instalar side by side con ningún otro VS
  • 10.
    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,...)
  • 11.
    Configuración  web.configha 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
  • 12.
    Roslyn  Nuevatecnologia 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/
  • 13.
    Demo  Modificaciónde código.... ¡et voilá!
  • 14.
    Inicialización  Lasaplicaciones 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
  • 15.
    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()
  • 16.
    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
  • 17.
    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
  • 18.
    Demo  Construcciónde una app web vNext desde cero
  • 19.
    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
  • 20.
    ... Y paraterminar  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
  • 21.
    ¡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