ASP.Net vNext (MVC 6)

vnext-1Tengo el honor de escribir el último post del año en ITBlogSogeti, un año durante el que se han escrito una multitud de posts interesantes sobre diversas temáticas. Llegados a las vísperas de un año nuevo, hoy os hablaré sobre la nueva tecnología web de Microsoft para 2015 denominada ASP.NET vNext.

¿Cuál es el objetivo de Microsoft con esta nueva versión? Básicamente, lo que busca es que ASP.NET se más ligero, se pueda desplegar en cualquier sistema operativo y servidor, así como una mayor y fácil integración con el cloud. Para conseguir todos estos objetivos, Microsoft ha realizado un gran cambio conceptual y arquitectónico, que aunque seguirá siendo compatible con toda su tecnología actual, hará necesario aprender muchos nuevos conocimientos y entender la nueva arquitectura.

Actualmente, las aplicaciones ASP.NET se ejecutaban sobre el mismo CLR, en vNext se añadirá un CLR optimizado y específico para el cloud denominado “cloud optimized”. Esta modificación hará que ASP.NET ya no use la tradicional System.Web, lo que hará que las aplicaciones sean más rápidas tanto al iniciarse como en tiempo de ejecución, ocupen menos memoria y solo serán incluidos aquellos componentes necesarios.

Otro de los puntos más interesantes, es el hecho de que tanto el CLR como las dll optimizadas, se despliegan con las aplicaciones, de forma que en un mismo servidor pueden convivir diferentes versiones sin entrar en conflicto. Esta solución también permitirá la ejecución de aplicaciones ASP.NET en modo self-hosting.

vnext-2Nuget, el gestor de paquetes de Microsoft, cobrará más protagonismo dado que tanto el CLR como las dll necesarias serán distribuidas por él. Otra de las diferencias con Nuget es que hasta ahora las desentendencias de los proyectos se añadían como referencias, ahora nuestros proyectos incluirán directamente referencias/dependencias a paquetes Nuget; estas dependencias se añadirán a un nuevo fichero en formato JSon.

vNext también contendrá el compilador “Rosylin”, lo que permitirá compilación on fly, es decir, podremos retocar código fuente y los cambios serán visibles al refrescar el navegador sin la necesidad de compilar el proyecto completo. Esta es una de las características que más me fascinan del nuevo ASP.NET, ya que provoca una ganancia en tiempo de desarrollo considerable, ¿y cómo es posible? Es posible gracias a que los binarios pueden ser guardados en memoria y no en disco como hasta ahora.

¿Qué incluirá vNext? vNext incluirá nuevas versiones de MVC, Web Forms, Web Api, WebPages, SignalR y Entity Framework.

MVC, Web Forms, Web Api y Web Pages, se unirán bajo una misma dll llamada MVC 6. El objetivo es unificar la experiencia del desarrollador al crear aplicaciones y servicios, con la ventaja de compartir aspectos como controladores y el routing. Un ejemplo de esta unificación es que en un mismo controlador podemos tener acciones que retornen vistas MVC y respuestas negociadas al estilo Web Api. Gracias a esta unificación se acabará con la duplicación de componentes entre diferentes arquitecturas.

vNext tendrá IoC por defecto. Esto es otro de los puntos importantes de vNext, introducciones la inyección de dependencias a nivel de plataforma, evitamos lo que ocurre hoy en día y es que cada framework tiene su propio mecanismo de resolución de dependencias. Esta solución no implica que no podamos utilizar nuestro contenedor IoC favoriot, pero si evitará tener que crear adaptadores para cada framework.

Por último, el hecho de que vNext MVC no utilice System.web hace que ya no se necesite IIS para ejecutarse. La no dependencia con IIS nos permite tener nuestro propio sitio Web auto-hosteado desde una aplicación de consola, por ejemplo:

vnext-3

Además, permite ejecutar un proyecto de MVC, utilizando Mono, en plataformas como Mac o Linux.

vnext-4

ASP.Net vNext (MVC 6) estará disponible con la salida de Visual Studio 2015, pero ya existe una preview para poder ver y probar todas estas novedades.

Si quieres saber más sobre las Soluciones Microsoft de Sogeti, tan solo tienes que visitar nuestra página.

Más información:


Roberto Bermejo

.NET Architect and Cloud Lead | Soluciones Microsoft | SOGETI ESPAÑA

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s