Seleccionar página

Este 2016 se libera la nueva versión de ASP.NET, la plataforma de desarrollo de aplicaciones web de Microsoft. Esta nueva versión tiene muchas características que la hacen única y la diferencian de las versiones anteriores, sobre todo el hecho de que no sólo es una nueva versión sino dos: ASP.NET 4.6 y ASP.NET Core 1.0. Esta última nos permitirá desarrollar aplicaciones web multiplataforma, además de ser código abierto, se ejecutará más rápido y con menos uso de memoria. La experiencia de desarrollo se renueva también con el uso de nuevas herramientas igualmente de código abierto.

Comenzamos con una breve historia: En 1996, Microsoft lanzó la tecnología ASP (Active Server Pages), también conocido como ASP clásico, con el fin de generar páginas web de forma dinámica. En 2002 lanza ASP.NET para realizar desarrollos con cualquier lenguaje que soporte el framework .NET.

Con la aparición de frameworks de desarrollo web como Ruby on Rails, Spring, Django, etc. que utilizan el patrón de arquitectura MVC (Modelo – Vista – Controlador), Microsoft hizo pública la versión de ASP.NET MVC. De ahí en adelante ha estado mejorando con la implementación de Web Pages y Razor como su motor de vistas, Web API para la creación de aplicaciones RESTful y SignalR para funcionalidades en tiempo real.

En 2014, Microsoft anunció la nueva versión de ASP.NET, como respuesta a las necesidades de la web moderna.

Los frameworks modernos tienen las siguientes características:

  • Orientados a mobile / tablet first, es decir, las aplicaciones son desarrolladas pensando en que se utilizarán en dispositivos móviles o tabletas.
  • Diseño responsivo, para adaptar la interfaz a los distintos tamaños de pantalla.
  • Uso de frameworks del lado del cliente como Angular o Backbone.
  • Listos para la nube.
  • Multiplataforma, pueden funcionar en Windows, Linux, OS X, etc.

Igualmente, las herramientas de desarrollo web modernas tiene las siguientes características:

  • Basadas en estándares.
  • Herramientas para desarrolladores en los navegadores (F12).
  • Herramientas de código abierto y con la posibilidad de agregarle extensiones.
  • Administradores de paquetes como NPM y Bower.

El siguiente diagrama muestra una vista de alto nivel de la nueva versión del framework .NET:

netcore

Lo más destacable en este diagrama es la separación de .NET Framework en dos partes:

  • .NET Framework 4.6
  • .NET Core 1.0.

El .NET Framework 4.6 es la continuación del .NET que hemos utilizado toda la vida. Sólo funciona en Windows y sobre él se pueden desarrollar aplicaciones con las tecnologías WPF, Windows Forms y ASP.NET versiones 4.6 y ASP.NET Core 1.0.

El .NET Core 1.0 es la nueva versión de código abierto y multiplataforma de .NET. Es una reescritura completa del framework con el fin de hacerlo más modular, es decir, cada funcionalidad es una dependencia, esto ayuda a que pueda ejecutarse tanto en Windows como en Linux y OS X y permite ejecutar aplicaciones ASP.NET solamente en la versión Core 1.0 y Aplicaciones Universales de Windows con .NET Native.

ASP.NET Core 1.0 es una reescritura completa de la plataforma de desarrollo web con el fin de lograr los siguientes objetivos:

  • Multiplataforma, poder implementarse en Windows, Linux y OS X.
  • Código abierto.
  • Totalmente modular, todo es una dependencia.
  • Más rápido y con menos uso de memoria.
  • Implementación en la nube, IIS o Self-Hosted.

En los siguientes diagramas podemos observar las distintas tecnologías que componen a ASP.NET:

  • Web Forms (Sólo en .NET Framework 4.6, no en .NET Core 1.0)
  • Unificación de Web Pages, MVC y Web API (en ambos frameworks)
  • SignalR (en ambos frameworks)

aspnet

Otra novedad interesante es la adición de herramientas como NPM y Bower para la administración de paquetes y Grunt y Gulp para la automatización de tareas las cuales se utilizan en otros frameworks de desarrollo web.