Hacker News new | ask | show | jobs
by martinald 971 days ago
.NET 8 for the backend, and then blazor webassembly for the front end if it's complicated, or just boring old server side rendering with htmx if it's not.

I've seen a lot of projects fail/struggle in golang (package ecosystem is still missing a lot of basics imo) or nextjs (very buggy).

.NET has been my secret weapon. It's boring, works really well, has a good ecosystem and asp.net is really well thought through and you can go as "deep" as you want with middleware etc. Plus performance is extremely good, as is the deployment story with docker these days (having to use Windows server with .net Framework a few years ago was a nightmare, enough to put me off, but in .net core Linux is a first class citizen now).

Also the IDEs are great these days, especially rider.

3 comments

I am personally new to the .NET world but the idea that you can mostly replace JavaScript with Blazor component is fascinating to me and I am really trying to get more into it. Also, Microsoft stuff gets a bad rep in general but .NET ecosystem is solid and I am loving it. Otherwise, I do PHP/Laravel and Go.
How do you manage page load times? I've been fiddling with Razor/Blazor and sometimes the page load times are obscene (5+ seconds). Is that just because it has debug symbols built in? Or is there something else I'm missing?
Do you deploy .NET on Windows or Linux?
Linux exclusively - I detest Windows server, via docker.

I feel that it's actually quite rare to run modern .NET apps on Windows Server now.

I understand and agree with your sentiment but .net core on windows is definitely not rare. What's rare is asp.net windows developers knowing what a reverse proxy is (they typically install the asp.net core hosting packages).
Wait, wait, so reverse proxy functionality is available in ASP.NET?

If I'm deploying an app to a K8s cluster, I assume I would still opt for an ingress rather than making my app handle that bit of functionality? Where's the cutoff here?

Also, how do I handle discovering what ASP.NET offers in terms of functionality? Is there an overview somewhere that I missed?

RP has nothing to do with any programming language or framework, if a web server exists, you can put a reverse proxy in front of it.

In this case, asp.net core has a built-in web server named Kestrel. IIS can be used as a reverse proxy so you can have IIS forward requests to web servers bound to local host.

Personally, I think its quite hilarious that you went straight to k8's. The vast majority of asp.net code is running on servers (bare metal or otherwise).

Thank you!

> Personally, I think its quite hilarious that you went straight to k8's.

I work in a production environment with some 1.5mil loc that runs in a k8s cluster, so that's what I know. I'm not sure which reverse proxy we use in our ingress. I'd have to check with devops.

You can deploy on both quite easily. The newer .NETs are properly multiplatform
That is probably why they are asking…