Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> I wish .NET was more popular among startups, if only C# could get rid of the "enterpisey" stigma

There are plenty of real issues that are not the enterprise stigma.

I built a backend web api this year with it and C# is fantastic. EF Core is truly one of the best ORMs I've ever used. That said, I regret that decision and won't be using it again for any new projects.

Honestly it looks like Microsoft is distracted and doesn't really know what to do with .NET. Everywhere you look there are tons of half baked projects like Blazor, Identity or Kiota and progress in .NET is super slow. It's probably going to get worse now with all the AI crap.



> That said, I regret that decision and won't be using it again for any new projects.

Genuinely curious, why?


> EF Core is truly one of the best ORMs I've ever used. That said, I regret that decision and won't be using it again for any new projects.

Hmm...there appears to be an interesting story and/or reason there...care to share?


I'm the same. I'm both a Python and C# developer. I use Python for all my personal projects, and given the choice, for MOST projects I'll always pitch Python first, Django gives me the strengths of something like ASP .NET / EF Core, but without feeling like they're building more abandonware. I really love Blazor and heck even MAUI, but will they still be there in 10 years? Probably, will Microsoft have some new project that replaces them? probably.

Then there's Django. Rarely changes, only for the better. Upgrading Django versions is usually painless too. The ORM is fine enough.


It is ironic when companies like Microsoft and Google end up showing the sort of "permanent reimplentation" behaviour that used to be typical of opensource, whereas certain opensource projects persist seemingly forever. Python, Django, Emacs - these things will likely see the end of the galaxy; meanwhile, big companies now build and discard key projects every other year.


>Everywhere you look there are tons of half baked projects like Blazor

We used Blazor years ago and it worked flawlessly already then. Hard to believe it's worse today. And what's wrong with Identity?

>progress in .NET is super slow

Compared to what?


Blazor will produce super bloated web apps. I can see it being used for an in-house thing with captive users but for a real world product or a public app? It would be a terrible choice.

Also the DX is just not there. Hot reload is a mess. Even when it works it's too slow. Once you start using hot reload with Vite you can't go back to waiting seconds for every change and full page reloads.

> Compared to what?

Everything else?

Do you think it's acceptable that it took 4 years for Minimal APIs to get validation?

What about hot reload being broken for years and years?


>Do you think it's acceptable that it took 4 years for Minimal APIs to get validation?

Well thay don't call it Minimal API for nothing. Jokes aside, what stopped you from calling validation yourself explicitly?

>What about hot reload being broken for years and years?

Can't comment on this, because I have never needed it. I can work faster with writing tests, but I guess it's fair to assume there are some who would need it.


> what stopped you from calling validation yourself explicitly?

Error messages. Even with the validation in .NET 10 you can't get the actual JSON property to display in the error message, instead you get the C# property.

FastEndpoints fixes this but uses Fluent so now you need to rely on a couple more dependencies.

> I can work faster with writing tests

For Blazor and Razor?


Which version worked flawlessly? And I guess blazor can work great but that's super specific to what you use it for. Much more so than most front end technologies/stacks. And both WASM and Server versions have a lot of compromises.


I had high hopes for Blazor but it didn't really materialize. Instead I'm just sticking with Angular.

I don't think Microsoft doesn't know what to do with .NET. I think it continues on a very logical and direct path. But they have no idea what to do with UI on any platform. Luckily they haven't even deprecated any of the existing options and on the web, at least, you have all the same options as every other platform.


I avoided Blazor, despite multiple people on my teams pushing for it. It always felt like it fit in the same space as web forms and silverlight. A product created to fill a gap of developers that wrote desktop apps and don't want to learn how to write front end code for the web. Plus it binds you to the product lifecycle of a .net side project that likely will be abandoned.

While Blazor has some cool stuff built in, the cool stuff never felt worth the risk of building a product around it.


Honestly, I was wishing that Blazor was in the same space as web forms.

There is a market for front-end development that isn't steeped in the hell of actual front-end development. Blazor is almost the right idea but I think this incarnation is a dead end. Somebody needs to gather up all the pieces and figure it out for real.


Blazor honestly is great for 'I need to write a simple backend control plane for whatever'. I.e. internal only stuff where you care about just shipping something functional and don't care too much how it all looks/etc.

Further you go away from that circle, the less enticing it is.


Why is that? Do you speak from real-world experience?

Not trying to push back. We're planning to use it for some new projects we have coming up on our team of .NET devs who can't seem to grok Angular or React and the entire ecosystem of tooling required, so I'm looking for reasons we shouldn't use it aside from Blazor being rather unpopular compared to Angular/React/other JS libs


As grandparent said, Blazor optimized for fast delivery. For public products you will have places where you should care about interactivity a lot. Their solution is interop with JS. You may try WASM but it’s definitely slow for UI.

WASM good for complicated tools, but you better probably with other language if you looking for next Figma.

Hybrid approach which is default have two issues. - round trip to the server. That’s not nice for interactivity and responsiveness. - hybrid hydration model is needlessly complicated. And again it will not fully solve your problem when you need to go extra mile.

Overall cold start for WASM require large payload, for Hybrid you need Websockets for updates. That sucks outside of cities or on junkie mobile. Not for public product.

Working with Blazor from Net Core 2.2

For internal tooling, or B2B where you don’t care that much is very efficient.


Just stick with the classic frameworks. Razor works great as does MVC WebAPI


I tried Razor. It's mature, has tons of features, and it's very fast. But it only really solves rendering HTML.

You will still need to integrate Vite somehow to use modern CSS, TS, etc. And if you do that, why even use Razor to begin with?

Also, hot reload is garbage. C# will never get close in speed or features to something like Vite.


If youre intent on writing everything on the frontend in javascript then you can just have a frontend app and use webapi MVC on the backend. Personally, in my personal projects, I find I iterate faster if I dont't write any javascript. Every page is just static HTML and any interaction is done via CSS (which you can do perfectly well in razor pages) or html forms. Managing page state is a huge time sink and IMO not worth it, but it's what pays the bills lol


> If youre intent on writing everything on the frontend in javascript then you can just have a frontend app and use webapi MVC on the backend.

Yes, I'm aware. I've been doing web dev since the 90s.

> my personal projects, I find I iterate faster if I dont't write any javascript

It's expected you will iterate faster if you have less features, no?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: