Novedades de ASP.NET 5 (ASP.NET Core) y ASP.NET MVC 6

En esta entrada vamos a explicar de las novedades que nos trae Microsoft con ASP.NET Core y ASP.NET MVC 6.

Rodríguez Patiño, Eduardo
10,804 lecturas
Rodríguez Patiño, Eduardo
Hemos migrado hace poco nuestras publicaciones del blog antiguo. Si crees que esta se encuentra incompleta o sin coherencia deja un comentario para restaurarla manualmente.

¿Qué es ASP.NET 5 ASP.NET Core?

ASP.NET Core (anteriormente ASP.NET 5) es el nuevo framework de Microsoft para desarrollar aplicaciones web multiplataforma, es decir que podemos desarrollar desde Linux, OS X y Windows usando la tecnología .NET. Adicionalmente, hoy en día se ha vuelto open source y podemos encontrar su repositorio en GitHub. Por fín, despues de tanto tiempo ahora si podremos desarrollar tecnología .NET en otros SO que no sea Windows, igual yo me quedo con Windows.

No confundan ASP.NET 5 con ASP.NET MVC 5, no es lo mismo. Yo antes por ignorancia confudia estos conceptos, ASP.NET es el framework para desarrollo de aplicaciones Web dentro del mundo .NET, y ASP.NET MVC permite desarrollar aplicaciones web basado en ASP.NET MVC usando la arquitectura de software MVC.

Novedades en ASP.NET Core

La arquitectura ha cambiado bastante, ya no hace más uso de System.Web.dll haciendola más modular. Veamos una lista de cambios que trae (ingles)

  • New light-weight and modular HTTP request pipeline
  • Ability to host on IIS or self-host in your own process
  • Built on .NET Core, which supports true side-by-side app versioning
  • Ships entirely as NuGet packages
  • Integrated support for creating and using NuGet packages
  • Single aligned web stack for Web UI and Web APIs
  • Cloud-ready environment-based configuration
  • Built-in support for dependency injection
  • New tooling that simplifies modern web development
  • Build and run cross-platform ASP.NET apps on Windows, Mac and Linux
  • Open source and community focused

Fuente: https://docs.asp.net/en/latest/conceptual-overview/aspnet.html

ASP.NET MVC 6

Esta ha cambiado bastante con respecto a su versión anterior, toda la arquitectura es diferenta ya que, que inorpora al ASP.NET Core. Veamos algunos features:

  • Tags Helpers: aunque a un podamos usar los Html Helpers, estos nunca fueron de mi agrado porque me gustaba manipular bastante  el HTML en si y si me hacía más flexible maquetar los controles de un formulario sin usar los Helpers. Hoy en día, se ven algo como esto.
  • Inyección de dependencia: por defecto ASP.NET Core incorpora un contenedor IoC para agregar nuestras dependencias. Por lo tanto no sería raro ver en vez de un ActionResult un IActIonResult. Esto es una caracteristica que me ha gustado bastante ya que, con esto puedo declarar mis dependencias y reutilizar dentro de toda mi solución de visual studio. Les comparto un fragmento de código para que comprendan mejor:

  • StartUp: es el equivalente a lo que era el Global.asax.

  • Bower, Gulp: integrado en el VS y a nuestro proyecto ASP.NET MVC 6 junto a Node. ¿Cómo que se quiere poner a la vanguardia no?, eso es muy bueno.

  • Web Api Controllers: podemos usar ahora controlladores de Web Api en nuestro proyecto MVC.

  • Logging: por defecto contamos con un sistema para hacer trace a nuestro código. Me gustaría investigar más del tema para ver si puedo apuntar el log generado a la base de datos en vez de un archivo de texto plano.

  • project.json: desde este puedo agregar dependencias a mi proyecto con la ayuda del autocompletado, es un archivo json y la base de nuestro proyecto.

  • Inyección de dependencia: por defecto todo nuestra aplicación ahora trabaja bajo inyección de dependencia, esto hace que podamos escalar más facilmente nuestro proyecto y es una práctica usada en la mayoría de los frameworks hoy en día. ASP.NET incopora un repositorio IoC para guardar nuestras dependencias y poder usarlas desde los constructores de nuestras clases.

Estos son algunos feautures que he visto rapidamente, no he tocado mucho mano aún pero si les aseguro que ha cambiado bastante pero no tanto como para aprender todo de nuevo como lo que pasa con Angular Js 1 y su versión 2.

Cosas que no me gustan

  • Anteriormente cuando yo generaba una acción y le daba click derecho podía generar la vista automaticamente. Espero lo vuelvan a agregar.
  • Tampoco puede dar click derecho a la acción y decirle go to view..

Solo son 2 cosas que he encontrado, pero me incomoda bastante.

Más adelante sacaré un ejemplo de ASP.NET MVC implementando un Crud junto a Entity Framework 7 e iré actualizando esta publicación.

¿Te gustó nuestra publicación?
Suscríbete a nuestro boletín