ASP.NET Core paso a paso – Introducción

Es momento de empezar a hablar de ASP.NET Core, por lo que este es el primer post de una serie denominada “ASP.NET Core paso a paso” – bien Mostaza Merlo – en donde vamos a ir viendo en detalle las distintas características del mismo.

En esta primer entrega vamos a comentar de que se trata este framework y cuales son sus principales características. Luego, a partir de las siguientes entradas ya vamos a meternos en cuestiones técnicamente más puntuales.

Evolución de la web

Las necesidades de las aplicaciones y sitios web fueron cambiando a través de los años, hoy existe una necesidad de estar conectados todo el tiempo por medio de diferentes dispositivos, sin embargo hace 10 años la idea principal de Internet era la de servir documentos. En el transcurso de esos años fueron surgiendo nuevos y variados escenarios y con ello aparecieron distintas necesidades técnicas para solventarlos. Ejemplos: e-shops, aplicaciones backends, redes sociales, web mobile, web APIs, etc.

Actualmente necesitamos servidores web optimizados que puedan atender esta gran cantidad de solicitudes que por lo general requieren poco ancho de banda y uso de CPU y entre las opciones que tenemos disponibles una de las mejores son los servidores UNIX. Ahora bien, cuando escuchamos esto es probable que muchos estén pensando en descartar ASP.NET como framework web ya que no esta pensado para correr en este tipo de servidores. Pero aquí esta la buena noticia, con ASP.NET Core podemos hacer provecho de este escenario ya que una de las principales características del mismo es que sea multi-plataforma y justamente podemos ejecutarlo detrás de cualquier servidor web proxy.

Pero no solo eso, al ser modular es un framework mucho más “liviano” lo que lo hace altamente performante – cualidad obligatoria para los requerimientos actuales -.

Evolución de ASP.NET

Ahora bien, hablemos de ASP.NET. El framework a sufrido grandes cambios a través del tiempo, adaptándose a las necesidades de cada momento:

Evolución de ASP.NET

Evolución de ASP.NET

Los principales hitos de este framework a lo largo de su historia fueron:

  • ACTIVE SERVER PAGES: programación en vbscript similar a php y pensado para servir páginas web. Me hace recordar lo viejo que estoy 🙂
  • ASP.NET WebForm: en pleno surgimiento de la web, se tuvo la necesidad de atraer desarrolladores de aplicaciones de escritorio a la plataforma web con un modelo de programación orientado a formularios.
  • ASP.NET MVC: surgió la necesidad de que el framework tenga una mayor integración con los estándares web (Javascript, HTML, API REST, etc).
  • ASP.NET CORE: llego el momento de desacoplarnos del servidor y del sistema operativo.

Para los que trabajamos con ASP.NET, tener un framework que se vaya adaptando a los “distintos momentos de la web” es de un gran valor, ya que nos permite construir aplicaciones/servicios que están diseñadas para soportar los requerimientos actuales.

¿Qué es ASP.NET Core?

Arranquemos con una definición que lo resume muy bien:

Es un framework open-source y multi-plataforma que nos permite construir modernas aplicaciones web basadas en la nube como web apps, IoT apps y mobile backends.

Las características principales – muchas de ellas obviamente heredadas de .NET Core – son:

  • Modular
  • Preparado para el cloud
  • Open Source
  • Editores o herramientas de desarrollo
  • Cross Platform


Veamos a continuación cada una de ellas.

Modular

ASP.NET Core tiene una serie de cambios arquitectónicos que resultan en un framework mucho más ligero y modular. Este se basa en conjunto de paquetes NuGet, lo que nos permite optimizar nuestra aplicación ya que solo incluimos los paquetes que necesitamos.

Una de los cambios más radicales es que ya no se basa en System.Web.dll lo que nos permite finalmente desacoplar ASP.NET de Windows y de Internet Information Services.

Tengan presente que una aplicación ASP.NET CORE no es más que un aplicación de consola .NET CORE cualquiera – hasta tiene una clase Program con un método Main(…) – que incluye los paquetes de librerías de ASP.NET. Ahora bien, cuando ponemos a correr nuestra aplicación nuestro programa hostea la aplicación y poner a marchar el servidor para que comience a escuchar las peticiones HTTP – esto de forma muy resumida, veremos en próximas entradas como realmente trabaja -.

Preparado para el cloud

Esta preparado para el cloud,  al no tener dependencias del web server podemos publicar nuestras aplicaciones prácticamente en cualquier lado.

Como toda aplicación .NET Core la misma se compila junto con el compilador y el runtime de ejecución, lo que nos da soporte de side-by-side – esto quiere decir que ya no se requiere tener instalado nada en el servidor y podemos tener distintas aplicaciones corriendo con distintas versiones del framework -.

Open Source

Todo es open source y orientado a la comunidad. El código fuente de ASP.NET Core está disponible en GitHub y cualquier puede realizar contribuciones al mismo.

Editores o herramientas de desarrollo

Podemos escribir nuestras aplicaciones en cualquier editor o herramienta de desarrollo moderna, desde el viejo y conocido Visual Studio o Visual Studio Code hasta Atom o Notepad++. Tengan en cuenta que en Visual Studio y Visual Studio Code tenemos soporte para debug, cosa que por el momento otras tools no soportan.

Cross Platform

Al ser cross-platform podemos construir y ejecutar aplicaciones ASP.NET multi-plataforma en Windows, Mac y Linux ya que ahora tenemos un framework desacoplado del servidor y del sistema operativo. Esto nos permite poner delante de nuestras aplicaciones potentes servidores web como NginxApache trabajando como servidores proxy.

post.Resume();

En este primer post hicimos un pequeño repaso de lo que es ASP.NET Core y cuales fueron algunos motivos por los cuales se origino. Además hablamos de cuales son sus principales características entre las cuales se destaca que sea multi-plataforma, modular y open-source.

Ya a partir de las próximas entregas vamos a meternos de lleno en características más técnicas del framework y empezar a codear. 🙂

Anuncios

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