Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NET
Introducción
Actualmente el desarrollo de aplicaciones se está realizando a través de las nuevas tecnologías de
información. Las aplicaciones hoy en día están enfocadas al uso de una red como la internet, ya que
al disponer de un software que pueda ser accedido desde cualquier lugar del mundo y desde
cualquier dispositivo, genera muchas ventajas para los usuarios y empresas.
Según Microsoft “ASP.NET es un marco web de código abierto, creado por Microsoft, para crear
servicios y aplicaciones web modernos con .NET. ASP.NET es multiplataforma y se ejecuta en
Windows, Linux, macOS, and Docker.”
La plataforma .NET es creada por Microsoft para desarrolladores y está compuesta por
herramientas, lenguajes de programación y bibliotecas para crear diferentes tipos de aplicaciones.
Algunos lenguajes incluidos en .NET son; C#, F# y Visual Basic, Base de bibliotecas para trabajar con
cadenas, fechas, archivos/E/S, y Editores y herramientas para Windows, Linux, macOS, and Docker
y mucho más.
ASP.NET amplía la plataforma .NET con herramientas y bibliotecas específicas para compilar
aplicaciones web. Estas son algunas cosas que ASP.NET agrega a la plataforma .NET:
Al usar ASP.NET, su código de back-end, como la lógica de negocios y el acceso a datos, se escribe
usando C#, F# o Visual Basic.
Razor proporciona una sintaxis para crear páginas web dinámicas mediante HTML y C#. El código de
C# se evalúa en el servidor y el contenido HTML resultante se envía al usuario. El código que ejecuta
el lado cliente se escribe en JavaScript. ASP.NET se integra con marcos de JavaScript e incluye
plantillas preconfiguradas para marcos de aplicación de página única (SPA), como React y Angular.
El siguiente curso nos permitirá conocer el desarrollo de aplicaciones bajo ambiente web y entrar
en la vanguardia actual año 2023 con la plataforma .NET.
1.1 ASP
Active Server Pages (ASP): es el primer lenguaje de scripting (secuencia de comandos) del lado del
servidor de Microsoft. El Active Server Pages (ASP) original fue el primer lenguaje de scripting del
lado del servidor publicado por Microsoft. Lanzado en 1996, Active Server Pages permitía crear
páginas web en el servidor de manera dinámica. Otros lenguajes de secuencias de comandos suelen
depender de Linux como sistema operativo y de un servidor web de código abierto, como Apache.
Por el contrario, Microsoft posicionó Active Server Pages como parte del Internet Information Server
(IIS), el cual es un servidor que se ejecuta en plataforma Windows.
¿Como funciona?
La funcionalidad básica de ASP puede compararse con la de PHP o la de Java Server Pages (JSP). En
las tres tecnologías se utilizan archivos de plantilla, que contienen fragmentos de código ejecutables
incrustados en contenido HTML estático. El código se escribe entre etiquetas especiales para
1
Consultado el 30/01/2023 de la página de Microsoft. https://dotnet.microsoft.com/es-es/
2
Consultado el 30/01/2023 de la página de Digital Guide Ionos. https://www.ionos.es/digitalguide/paginas-
web/desarrollo-web/que-es-aspnet/
separarlo del HTML. Los dialectos específicos de Microsoft disponibles en aquel momento, VBScript,
JScript y PerlScript, se utilizaban como lenguajes de programación.
Cuando el navegador accede a una URL (“request”), el código se ejecuta en el servidor. La ejecución
genera contenido HTML que se inserta en las estructuras HTML predefinidas. En general, el
resultado es un documento que consta de contenido HTML estático y generado dinámicamente, y
que se entrega como una respuesta al navegador (“response”) y se muestra al usuario. Cualquier
cambio en el contenido de la página, por ejemplo, debido a las entradas del usuario, requería un
ciclo completo de request-response y, por lo tanto, que se volviera a cargar la página. A
continuación, se muestra un ejemplo de código ASP:
ASP todavía no era un framework. Por el contrario, empleaba unos pocos objetos sueltos sin relación
entre sí. A partir de ellos, se tejía un sitio web dinámico: Application, Request, Response, Server,
Session, ASPError.
1.2 ASP.NET
ASP.NET: de Active Server Pages al framework
ASP.NET, el sucesor del ASP clásico, se presentó en el año 2003. En lugar de unos pocos objetos
sueltos, utilizaba el framework .NET como una subestructura que englobaba los procesos que se
requerían con frecuencia, como el acceso a las bases de datos o la autenticación y la autorización
de usuarios. En conjunto, ASP.NET podría compararse a frameworks de Java más populares del
momento como Struts o Spring. Recordemos que las Frameworks son plataformas o entornos de
trabajo para facilitar la codificación.
ASP.NET incluía los formularios Web Forms como característica decisiva. El enfoque de Web Forms
permitía a los desarrolladores de Windows experimentados programar páginas web dinámicas. Los
mecanismos subyacentes a la web permanecían ocultos a los desarrolladores, que podían seguir
recurriendo a los flujos de trabajo y entornos de desarrollo que les eran familiares. En particular, se
utilizaban herramientas visuales específicas de Microsoft para el desarrollo rápido de aplicaciones
o Rapid Application Development (RAD).
Los formularios Web Forms permitían a los desarrolladores de Windows avanzar rápidamente con
la programación web. Sin embargo, al mismo tiempo, el enfoque limitaba el grado de control sobre
las páginas HTML entregadas. Poco tiempo después, con ASP.NET MVC, se introdujo un modelo de
desarrollo alternativo. Este seguía el patrón establecido de modelo-vista-controlador (MVC) y
permitía implementar de manera más limpia el principio de la separación de intereses (separation
of concerns). Basado en el innovador marco Ruby on Rails, ASP.NET MVC ofrecía una buena
funcionalidad para el andamiaje de los proyectos.
Actualmente, ASP.NET ha sido reemplazado por ASP.NET Core, el desarrollo posterior. Sin embargo,
ambos nombres se utilizan a menudo como sinónimos.
Con el lanzamiento de ASP.NET Core, la organización del framework cambió por completo. A medida
que Microsoft continuaba con su tendencia hacia el código abierto, el desarrollo de ASP.NET Core
se puso bajo los auspicios de la .NET Foundation. El código fuente del proyecto está disponible bajo
una licencia de código abierto.
A nivel técnico, ASP.NET Core es una versión rediseñada de ASP.NET 4.0, que aúna los componentes
de ASP.NET que han ido surgiendo orgánicamente. El framework hace posible el desarrollo de
proyectos con ASP.NET Core y el hosting fuera del ecosistema de Windows. En Windows, ASP.NET
Core se basa en el framework .NET, mientras que, en otros sistemas operativos, se utiliza el
framework .NET Core.
¡Importante!: Si realizas aplicaciones con ASP.NET Core usando Framework.NET solo correrán en
plataforma Windows y su código será limitado, pero si usas Framework.NET Core las aplicaciones
correrán en Windows, Linux, MacOS y muchos más.
De acuerdo con los avances en la tecnología web, ASP.NET Core es compatible con el uso en la nube.
Además del tradicional Internet Information Server (IIS) de Microsoft, como entorno de alojamiento
de ASP.NET se utilizan contenedores y entornos de servidor abiertos. El framework admite código
del lado del cliente y enfoques modernos para la programación reactiva. Esto significa que ASP.NET
Core es comparable a Frameworks basados en JavaScript como React.
Con el avance de las tecnologías web a partir de la década de 2000, se han ido incorporando nuevos
enfoques al desarrollo web en ASP.NET. Imagínatelos como una caja de herramientas bien
organizada, con diferentes herramientas disponibles para cada tipo de proyecto. Dependiendo de
los requisitos, se pueden combinar varios enfoques en un mismo proyecto. Con el lanzamiento de
ASP.NET Core, numerosos modelos de programación desarrollados de manera orgánica se
reunieron bajo un mismo framework, lo que ayudó a simplificar la elección del enfoque más
adecuado para cada situación.
• Los archivos de plantilla con la extensión .aspx definen la estructura HTML de la página y
contienen marcadores de posición para el contenido generado dinámicamente.
• La propia lógica de la aplicación se transfiere a un archivo separado con la extensión;
.aspx.cs o .aspx.vb. Se trata del archivo code-behind del mismo nombre.
• El cliente recupera el archivo .aspx disponible en una URL. Los componentes estáticos y
dinámicos se combinan en el servidor. El documento HTML resultante se entrega al cliente.
• Con cada entrada del usuario en la página, los datos se transfieren a la misma URL a través
de una solicitud GET o POST y se procesan mediante el archivo code-behind.
ASP.NET Web Pages es ideal para los casos en que la lógica de la aplicación tiene menos
protagonismo que un diseño y una presentación sofisticados. En este modelo, similar al PHP o al
ASP clásico, dentro del archivo se combinan estructuras HTML estáticas y componentes de código
dinámico. Para ello se utiliza una sintaxis especial. ASP.NET Web Pages es especialmente adecuado
para crear páginas de aterrizaje (en inglés, landing pages).
1.4.6 SignalR
SignalR es un marco para la comunicación en tiempo real entre cliente y servidor. Este framework
se basa en el estándar WebSockets y permite la transferencia bidireccional de datos. Los
navegadores que no son compatibles con WebSockets pasan a ser gestionados por mecanismos de
reserva. SignalR suele utilizarse para implementar servicios de chat basados en navegador y
software de videoconferencias.
Vamos a ver un ejemplo de una Razor Page. Cabe destacar que, como signo de apertura, se utiliza
@ en lugar de las etiquetas de código de apertura y cierre habituales en los lenguajes de plantillas:
Además de la programación reactiva, hay otra característica de Blazor que resulta muy interesante:
a través de WebAssembly, los lenguajes .NET se pueden compilar para ser ejecutados en el
navegador. Por lo tanto, a menudo se hace referencia a la expresión “.NET in the browser” cuando
se habla de Blazor. La ventaja es que el código del lado del cliente no tiene que escribirse en
JavaScript. En cambio, el desarrollo se realiza en C# o Visual Basic. El código puede acceder a los
conocidos componentes del framework .NET.
3
Consultado el 30/01/2023 de la página de Digital Guide Ionos. https://www.ionos.es/digitalguide/paginas-
web/desarrollo-web/que-es-aspnet/
desarrollado, se utiliza como subestructura de ASP.NET, lo que significa que hay componentes
adecuados para gran variedad de aplicaciones, una gran ventaja a la hora de desarrollar aplicaciones
complejas de forma rápida y con resultados fiables.
El framework .NET tiene una estructura modular y emplea Common Language Runtime (CLR) como
entorno de ejecución, lo que permite utilizar diferentes lenguajes de programación, siempre que
cumplan con el estándar Common Language Infrastructure (CLI). Entre los lenguajes CLI
desarrollados por Microsoft se incluyen, además de los clásicos C# y Visual Basic, orientados a
objetos, el lenguaje funcional más nuevo F#. Los lenguajes CLI se pueden ejecutar como código del
lado del cliente en el navegador a través de Blazor y WebAssembly.
Aunque, en un principio, ASP.NET se lanzó como software propietario gestionado por Microsoft, hoy
es un proyecto de código abierto auspiciado por la .NET Foundation. En el transcurso de este
proceso de apertura, se establecieron el administrador de paquetes NuGet y el repositorio público
de paquetes correspondiente. De manera comparable a NPM o RubyGems, los desarrolladores de
ASP.NET tienen a su disposición un ecosistema de paquetes de uso libre.
En el pasado, quien quería trabajar con el framework ASP.NET solo podía hacerlo en Windows.
Desde hace años, Microsoft ha buscado abrirse de manera concertada hacia estándares
ampliamente utilizados y de código abierto. Con la aparición de ASP.NET Core, el marco ahora es
compatible con las tres principales familias de sistemas operativos: Windows, macOS y Linux.
También es posible mantener el entorno de desarrollo en un contenedor Docker.
El ASP.NET clásico solo se podía alojar en Internet Information Server (IIS), la tecnología de servidor
de Microsoft: una gran desventaja en comparación con otros frameworks de desarrollo web, los
cuales también se ejecutan en Linux. El alojamiento ASP.NET tiene requisitos especiales y no está
disponible para todos los proveedores. Cabe decir que era posible utilizar otros servidores web
mediante Mono, que permite implementar .NET de forma gratuita. Sin embargo, el cambio real solo
se produjo con la aparición de .NET Core y la Open Web Interface for .NET (OWIN). OWIN desacopla
las aplicaciones ASP.NET del servidor web subyacente, eliminando uno de los mayores obstáculos
del uso de este framework.
El hosting de las aplicaciones ASP.NET Core es mucho más relajado. Además de en IIS, estas se
pueden alojar en gran variedad de entornos de servidor. Para ello se utiliza el servidor web Kestrel
integrado, que se ejecuta en Windows, Linux y macOS. Los servidores web más populares, como
Nginx y Apache, pueden configurarse como proxy inverso y utilizarse junto con Kestrel. La
alternativa HTTP.sys de Kestrel también está disponible en Windows.
https://learn.microsoft.com/es-es/dotnet/fundamentals/
.NET es una plataforma para desarrolladores de código abierto, multiplataforma y gratuita para
crear muchos tipos de aplicaciones diferentes. Con .NET, puede usar varios lenguajes, editores y
bibliotecas para crear aplicaciones web, móviles, de escritorio, juegos, IoT, etc.
Lenguajes de .NET
Multiplataforma de .NET
Tanto si trabaja en C#, F# o Visual Basic, el código se ejecutará de forma nativa en cualquier sistema
operativo compatible. Puede compilar muchos tipos de aplicaciones con .NET. Algunas son
multiplataformas y otras tienen como destino un conjunto específico de sistemas operativos y
dispositivos.
.NET proporciona un conjunto estándar de api y bibliotecas de clases base que son comunes a todas
las aplicaciones .NET.
Cada modelo de aplicación también puede exponer API adicionales que son específicas de los
sistemas operativos en los que se ejecuta o las funcionalidades que proporciona. Por ejemplo,
ASP.NET es el marco web multiplataforma que proporciona API adicionales para compilar
aplicaciones web que se ejecutan en Linux o Windows.
Bibliotecas
Modelos de aplicación
Las siguientes son modelos de aplicación que se pueden crear con .NET
Comunidad activa y código abierto
Dado que .NET es de código abierto, puede unirse a los miles de desarrolladores y empresas que ya
contribuyen a la plataforma .NET.
Obtenga respuestas rápidas a preguntas con una comunidad activa de desarrolladores en Stack
Overflow.
Instalación
Realice la instalación siguiendo el asistente. Una vez finalice obtendrá una ventana como la
siguiente.
Una vez instalado comprobamos su funcionamiento. Para ellos abrimos nuestra ventana de
comandos o símbolo de sistema y ejecutamos el comando dotnet.
Esto mostrara que ha sido instalado nuestro SDK. Si deseamos ver la versión instalada podemos
escribir la siguiente línea de comandos. dotnet --list-sdks
Nota: El SDK no requiere ser descargado ni instalado cuando se hace uso de un IDE como Visual
Studio dado que estos entornos ya lo traen consigo incluido.
¿Qué va a hacer?
• Entender cuándo y por qué usar Razor Pages para la aplicación ASP.NET Core.
• Usar la CLI de .NET para crear una aplicación de Razor Pages.