It's... basically the same? Include library, create server object, tell server object what request to handle and what to return, start server object.
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/m...
Much of the older overdesigned pain of C# is that it used to be tied to how IIS wanted things to work, NetCore initially pivoted more to DI stuff before pivoting again to these minimal API's but the DI stuff is definitely available(and used) still.
For pragmatic choices it's all there, you can start off with minimal API's and get far with it and once you start feeling pain-points as you want to re-implement things it might be time to add in the more "frameworky" parts.
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();Your code snippet certainly has a lot of unnecessary ceremony. Why use a builder object at all? Why use a static class with a function to build the builder object?
var builder = createBuilder(args);
// etc...
Would be better. But var app = createWebApp(args);
// etc...
Is even better. No ceremony at all!