tipos-de-proyectos-aspnet-core

Tipos de proyectos en ASP.NET

  • 7 min

Cuando empeceis en el mundillo de ASP.NET una de las primeras cosas que os vais a encontrar es que existen distintos tipos de proyectos que podemos elegir, dependiendo de nuestras necesidades.

De hecho, es una de las cosas que más lía al principio, porque hay una cantidad enorme y es fácil perderse entre tanta opción.

Así que vamos que vamos a ver los principales proyectos en ASP.NET, sus características y cuándo es más adecuado utilizar cada uno.

Aquí tenéis un resumen de los distintos tipos de proyectos de ASP.NET que os vais a encontrar.

ComandoTipo de ProyectoDescripción
dotnet new webVacíoCrea un proyecto vacío
dotnet new webapi✅ API RESTfulCrea una API que sigue el estilo RESTful para servicios web
dotnet new mvc❌ MVCCrea una aplicación con el patrón Modelo-Vista-Controlador
dotnet new razor❌ Razor PagesCrea un proyecto con Razor Pages
dotnet new blazorwasmBlazor WebAssemblyCrea una aplicación cliente Blazor con WebAssembly.
dotnet new blazorserverBlazor ServerCrea una aplicación Blazor Server

No todos son igual de útiles, ni usados (ni remotamente), y algunos de ellos se mantienen por compatibilidad. En la actualidad que vais a usar con mayor frecuencia son:

  • ✅ API RESTFul: Para casi todo
  • Blazor: Si quieres desarrollar en esta tecnología
  • Proyecto vacío: Para una prueba rápida (o para empezar desde cero)

Pero si queréis más información sobre todos ellos, aquí la tenéis para que los conozcáis y saber cuando conviene usarlos (o no) 👇

Crea un proyecto vacío sin ninguna estructura predeterminada. Esto es útil si deseas crear una aplicación completamente personalizada o si necesitas un control total sobre la configuración del proyecto.

Para crear un proyecto vacío, simplemente ejecuta:

dotnet new web -n MiProyectoVacio

Esto generará un proyecto vacío donde podrás agregar lo que necesites: controladores, vistas, archivos estáticos, servicios, entre otros.

Genera una API RESTful que sigue las convenciones de HTTP, utilizando JSON como formato de intercambio de datos.

Este tipo de proyecto es común para exponer servicios backend, donde no es necesaria una interfaz gráfica, sino que se proporcionan endpoints que pueden ser consumidos por aplicaciones frontend o móviles.

Para crear un proyecto API, usa el siguiente comando:

dotnet new webapi -n MiApi

Cuándo usarlo:

  • Servicios web: Si estás desarrollando un backend que será consumido por diferentes clientes.
  • Microservicios: Si estás construyendo una arquitectura de microservicios, cada servicio puede ser una API RESTful.
  • Aplicaciones SPA: APIs + frontends SPA (React, Angular, Blazor).

Crea un proyecto basado en el patrón Modelo-Vista-Controlador (MVC). Este patrón divide la aplicación en tres componentes principales:

  • Modelo (Model): Representa los datos y la lógica de negocio.
  • Vista (View): Representa la interfaz gráfica de la aplicación.
  • Controlador (Controller): Actúa como intermediario entre el modelo y la vista.

Para crear una nueva aplicación MVC, abre la consola y ejecuta el siguiente comando:

dotnet new mvc -n NombreDeMiAplicacion

Cuándo usarlo:

  • Ha sido el clásico durante años.
  • A día de hoy, no se usa tanto salvo en aplicaciones existentes (legacy)

Razor Pages fue lanzado con .NET Core 2.0 (2017), promovido por Microsoft como una alternativa más simple a MVC. A diferencia de MVC, no se requiere una separación estricta de controladores y vistas.

Sin embargo, no alcanzó gran popularidad, salvo en proyectos internos, formularios administrativos o entornos donde se busca algo muy sencillo sin meter SPA (React, Angular, Blazor).

Para crear un proyecto con Razor Pages, ejecuta:

dotnet new razor -n MiRazorPageApp

Cuándo usarlo:

  • ⛔Si te amenazan con una pistola y no te queda otro remedio(y aún asi me lo plantearía)

Blazor es un framework de desarrollo de aplicaciones web que permite crear aplicaciones interactivas utilizando C# en lugar de JavaScript.

Blazor puede ejecutarse en el servidor (Blazor Server) o en el cliente (Blazor WebAssembly).

dotnet new blazorserver -n MiAplicacionBlazor

Este comando creará un nuevo proyecto Blazor Server con la estructura básica de carpetas y archivos necesarios.

Cuándo usarlo:

  • Aplicaciones interactivas: Si estás desarrollando una aplicación web que requiere una alta interactividad del usuario.
  • Aplicaciones SPA (Single Page Application): Si estás construyendo una aplicación de una sola página (SPA) y prefieres utilizar C# en lugar de JavaScript.

Casos de uso comunes

Hemos visto los tipos de proyecto que ofrece ASP.NET. Estos son los “tipos de proyectos de verdad”. Cuando creemos un proyecto tendremos que elegirlo un tipo y no podremos cambiarlo.

Pero no hay que confundir el “tipo de proyecto” de ASP.NET, con lo que podemos hacer con este proyecto (casos de uso)

Ya hemos visto que el tipo de proyecto más potente y versatil es API RESTFul Pero esto no solo podemos hacer APIs con él.

Así que vamos a ver “casos de uso” que podemos realizar con ASP.NET, en solitario, o con otras tecnologías 👇.