ASP.NET Core Kept Nearly Thirty-Eight Thousand Stars Because .NET Teams Wanted Modern Cloud Web Apps Without Leaving Performance, Tooling, and Long-Term Structure at the Door
ASP.NET Core has about 37,952 GitHub stars and remains a major framework for modern web and API work. This guide explains what it does, how to build a minimal API, and how to deploy it with Kestrel, reverse proxies, and Docker.
The punchier version is fair: ASP.NET Core stayed relevant because .NET teams got a framework that felt modern, cross-platform, and cloud-ready without abandoning the tooling depth enterprises actually rely on.
GitHub shows ASP.NET Core at roughly 37,952 stars, and that number reflects a framework that has stayed serious about both developer experience and production performance.
What ASP.NET Core is for
It is strong for:
- APIs
- cloud apps
- microservices
- MVC applications
- identity-heavy backend systems
Minimal APIs also made the framework more approachable than its older reputation suggested.
Start a minimal API
dotnet new web -n MyAspNetApp
cd MyAspNetApp
dotnet runIn Program.cs:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/health", () => Results.Json(new { ok = true, framework = "aspnetcore" }));
app.Run();Why it matters
ASP.NET Core fixed a lot of historical friction:
- cross-platform support
- faster startup paths
- modern hosting
- cloud-native deployment
- better performance expectations
It made .NET web development feel current instead of legacy-bound.
How to deploy it
Publish
dotnet publish -c ReleaseRun the published app
dotnet MyAspNetApp.dllDocker
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
WORKDIR /src
COPY . .
RUN dotnet publish -c Release -o /app/publish
FROM mcr.microsoft.com/dotnet/aspnet:9.0
WORKDIR /app
COPY --from=build /app/publish .
EXPOSE 8080
ENTRYPOINT ["dotnet", "MyAspNetApp.dll"]What it solved
ASP.NET Core made modern .NET web work feel deployable, fast, and less trapped by the platform history people used to associate with it. That was a meaningful reset.