Not sure about this one. It's based on NetCoreServer which is great but it's definitely not something I'd be comfortable putting into production over kestrel or IIS.
From a performance standpoint, it is very difficult to beat kestrel now. If you don't want all the fancy Microsoft bullshit (I certainly don't), use the minimal APIs and map out routes to lightweight HttpContext handlers.
ASP.NET Core is one of the best web frameworks, extremely modular and flexible. It's low level components (http server, routing) can be used as a foundation for new web frameworks.
The library's tagline says "Powerfully Simple. Blazingly Fast." So there. ::folds arms::
Joking aside, I do agree that ASP.NET Core is a behemoth. On .NET 9, I just now did `dotnet new webapi` followed by `dotnet publish --self-contained -p:PublishSingleFile=true` and the binary is 103MB. That would blow up the size of a mobile app considerably, just to listen to HTTP.
There a separate use case that SimpleW won't solve: When you're on a platform that .NET Core doesn't support, like Raspberry Pi Zero (armv7l). In this case all you have is the mono framework and binding to raw ports.
One of the use cases that stands out to me is dropping an API into a console application without having to use a different project. With ASP.NET I have to set up a new project, use a different SDK and then re-register all my services in its service collection. It looks like this one is bringing it closer to how it's done in Go which I personally really like.
seems like the author didn't like the obvious or alternative solutions out there, and went and created one of his own.
i know some people who use their own web server, this is an on going adventure for sure.
ASP.NET Core comes with its own built-in web server named Kestrel, which is very highly optimized. On most projects, I use it totally bare-metal, though I figure most run it behind a reverse proxy like nginx or yarp.
bob1029|6 months ago
From a performance standpoint, it is very difficult to beat kestrel now. If you don't want all the fancy Microsoft bullshit (I certainly don't), use the minimal APIs and map out routes to lightweight HttpContext handlers.
sandreas|6 months ago
1: https://fast-endpoints.com/
phendrenad2|6 months ago
oconnor0|6 months ago
bravesoul2|6 months ago
brainzap|6 months ago
also what does performance matter on webservers
andix|6 months ago
ASP.NET Core is one of the best web frameworks, extremely modular and flexible. It's low level components (http server, routing) can be used as a foundation for new web frameworks.
taspeotis|6 months ago
That said I think some diversity / competition / cross-pollination should be welcomed in the .NET space.
Not a fair comparison but I’m glad Avalonia exists despite WPF, for example.
sltr|6 months ago
Joking aside, I do agree that ASP.NET Core is a behemoth. On .NET 9, I just now did `dotnet new webapi` followed by `dotnet publish --self-contained -p:PublishSingleFile=true` and the binary is 103MB. That would blow up the size of a mobile app considerably, just to listen to HTTP.
There a separate use case that SimpleW won't solve: When you're on a platform that .NET Core doesn't support, like Raspberry Pi Zero (armv7l). In this case all you have is the mono framework and binding to raw ports.
oakstendheim|6 months ago
prodbro|6 months ago
I wanted to start with something small where I could read or write the code in a reasonable amount of time.
My usage was, and still is, for low traffic. I don't intend to replace the Kestrel beast.
Just a framework you can quickly understand without being lost in documentation once you want to custom a part.
louthy|6 months ago
In your opinion. Not everyone is of the same mind when it comes to software design. Sometimes the motivations are different.
As a community we should encourage those looking to find their own path. We become myopic otherwise.
prodbro|6 months ago
I don't think so.
The fact is there are very few dotnet web servers. ASP.NET Core is supported by the owner of the dotnet langage who is also the M of the GAFAM.
There is some place in the ecosystem for other alternatives
nirav72|6 months ago
doubleorseven|6 months ago
brainzap|6 months ago
whoknowsidont|6 months ago
...based on what?
anditherobot|6 months ago
qingcharles|6 months ago
tucaz|6 months ago
kcb|6 months ago
andix|6 months ago
SideburnsOfDoom|6 months ago
prodbro|6 months ago
author here.
You don't have to keep it behind a reverse proxy like nginx.
But you can, especially if you have multiple APIs and you want to keep thing separated for security reason.
Example :
nginx:443 (reverse proxy, domain name routing)
|
|-> website1:8081 - docker container with SimpleW
|-> website2:8082 - docker container with SimpleW
|
...
mrweasel|6 months ago
prodbro|6 months ago
that's the reason why i start the project. I had time and wanted something simple as my needs.
aanthonymax|6 months ago
prodbro|6 months ago
The default template is great and everything in VitePress has been thinking to create documentation. Very nice project.