Cerramos del 11/08 al 15/08. Los pedidos cursados a partir del 08/08 a las 12.00 hora de España peninsular se tramitarán el 18/08/2025.
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí

Crear aplicaciones

Aplicación web

La ventaja del lenguaje C# es que permite realizar un amplio grupo de aplicaciones. Entre ellas, las que están más de moda son las aplicaciones web. En este capítulo, vamos a ver el conjunto de las aplicaciones que se pueden crear con C#.

Las aplicaciones web se dividen en dos grandes categorías:

  • Las aplicaciones web gráficas, donde hay una interacción con el usuario.

  • Las aplicaciones web de backend, que se encargan únicamente de tratar datos. 

1. Aplicaciones web gráficas

Con .NET 8, Microsoft decidió unificar las diferentes aplicaciones web bajo el liderazgo del framework insignia Blazor. Por lo tanto, crear una aplicación web con C# hoy en día es como crear una aplicación Blazor y elegir cómo se ejecuta (solo en el servidor, solo en la estación de trabajo del cliente o ambos).

A pesar de todo, los viejos tipos de aplicaciones no han desaparecido. Sigue siendo posible crear aplicaciones ASP.NET exclusivamente para el servidor.

ASP.NET es la solución que permite crear sitios web. Usa una sintaxis de creación de las vistas que permite mezclar HTML y C# llamada Razor. Hay dos variantes para realizar aplicaciones ASP.NET:

  • ASP.NET MVC: usa el patrón MVC (Modelo Vista Controlador), que permite usar una arquitectura probada y robusta, pero más restrictiva para implantar. 

  • ASP.NET Razor Pages: permite realizar páginas autónomas, más sencilla.

Para crear una aplicación ASP.NET, siga estos pasos:

 Abra Visual Studio Code.

 Si desea crear una aplicación ASP.NET MVC, presione [Ctrl]+[Mayús]+P para abrir el menú y elija .NET: New project y luego ASP.NET Core Web App (Model-View-Controller).

 Si desea crear una aplicación ASP.NET Razor Pages, presione [Ctrl]+[Mayús]+ P para abrir el menú y elija .NET: New project y luego ASP.NET Core Web App.

Empezaremos por explorar rápidamente una aplicación ASP.NET MVC.

a. ASP.NET MVC

Una vez ejecutado el comando, se han generado algunos archivos y carpetas automáticamente. Sin entrar en detalles, encontramos tres carpetas correspondientes al patrón MVC: Models, Views y Controllers.

images/08RI01N.png

Lista de los archivos y carpetas generados

El funcionamiento de un sitio ASP.NET MVC es bastante sencillo. Cuando un usuario elige acceder a una página dada, el motor de enrutamiento...

Aplicación de escritorio

Incluso si las aplicaciones de escritorio están mucho menos de moda que durante las últimas décadas, siguen siendo imprescindibles cuando se trata de hacer aplicaciones que permitan comportamientos avanzados. Históricamente, .NET es una plataforma destinada a Windows; por eso es lógico disponer de frameworks que permitan realizar aplicaciones de escritorio Windows. Para esto hay tres frameworks gráficos: WinForms, WPF y UWP.

Dado que este capítulo trata las aplicaciones de escritorio para Windows, es necesario disponer de una estación de trabajo con Windows y tener instalado el IDE Visual Studio 2022 bajo Windows (https://visualstudio.microsoft.com/es/downloads/, porque él solo contiene todas las herramientas necesarias para poder crear este tipo de aplicación. Durante la instalación, hay que asegurarse de haber instalado la carga de trabajo "Desarrollo de escritorio de .NET" a fin de tener a su disposición todas las herramientas para este tipo de proyecto (ver imagen siguiente).

images/08_14.png

Carga de trabajo Desarrollo de escritorio de .NET

1. WinForms

WinForms es el planteamiento más antiguo para crear aplicaciones de escritorio. Sucesor de Visual Basic 6, Winforms sigue siendo una manera muy rápida de crear aplicaciones con facilidad. Microsoft ha impulsado otra tecnología de aplicación de escritorio, WPF (que veremos en la siguiente sección), considerada como la sucesora de WinForms, pero esta última sigue siendo imprescindible para la realización de una aplicación de escritorio ligera y rápida. Esto se debe al hecho de que la implementación se hace de manera muy rápida gracias al diseñador y la interfaz gráfica se basa en la capa GDI+, muy rápida en la ejecución y consume pocos recursos.

Sin embargo, GDI+ no permite disfrutar de la aceleración de hardware 3D, lo que puede causar ciertas limitaciones.

Desde la llegada de .NET Core 3.0, se pueden crear aplicaciones Winforms mediante las últimas versiones de .NET, de tal manera que podemos crear una aplicación nueva gracias al comando dotnet new winforms.

La ejecución de este comando genera algunos archivos de una aplicación ya ejecutable, pero completamente vacía. La manera de crear una aplicación WinForms se basa en la creación...

Aplicación móvil

Hay muchas herramientas que permiten realizar aplicaciones móviles para Android e iOS, las dos plataformas principales para los smartphones en la actualidad. Generalmente, encontramos dos tipos de herramientas:

  • Las que permiten realizar una aplicación móvil a partir de un código fuente común en gran parte y generar una aplicación para las dos plataformas (cross-platform).

  • Las que permiten realizar una aplicación móvil para una plataforma dada, directamente en el lenguaje de la plataforma de destino (nativo) o mediante otro lenguaje que se transformará en el de destino.

Apple tiene dos lenguajes para crear aplicaciones iOS: objective-C (lenguaje antiguo) y Swift (lenguaje nuevo). Respecto a Android, encontramos el lenguaje Java y el lenguaje Kotlin.

Como comprobamos, C# no tiene lugar en ninguna de las plataformas; sin embargo, se pueden realizar aplicaciones Android e iOS en C#, gracias a la tecnología MAUI.

Este framework de aplicación permite realizar los dos tipos de aplicaciones:

  • Creando una aplicación móvil con un diseño común basado en el lenguaje XAML con el framework MAUI, que después se convertirá en aplicación nativa. 

  • Creando una aplicación móvil con un diseño mediante plataforma gracias a las herramientas de la plataforma objetivo, que también se convertirá en aplicación nativa.

Tanto si se elige una opción como si se elige la otra, se puede compartir el código de trabajo mediante librerías de clase en C#, lo que constituye la fuerza del framework.

1. MAUI

Una aplicación cross-platform permite producir una aplicación Android y una aplicación iOS a partir del mismo código de trabajo y de interfaz gráfica. El framework MAUI permite realizar una aplicación que podrá derivar en aplicación móvil y de escritorio. Por el momento, nos contentaremos con explorar la parte móvil.

Para desarrollar nuestra nueva aplicación, es necesario que nuestro entorno esté preparado. En efecto, hasta ahora hemos usado Visual Studio Code...

Conclusión

Hemos visto brevemente en este capítulo todo lo que se puede hacer con .NET en cuestión de aplicaciones. Ya sea web, escritorio o móvil, se puede realisar un conjunto bastante amplio de soluciones gracias al lenguaje C#.

Por supuesto, lo que hemos visto en este capítulo es una introducción muy ligera, y cada solución tiene sus propias especificaciones y capacidades, que no se pueden abarcar en un solo capítulo, porque cada una ellas podría ser el tema de un libro como mínimo. Sin embargo, así tiene una visión general de lo que se puede hacer, junto con un ejemplo que le permite seleccionar bastante rápido las tecnologías que le interesan para profundizar en el tema.