ASP.NET - A big step forward in its day, but essentially lacklustre in modern times
August 11, 2021
ASP.NET - A big step forward in its day, but essentially lacklustre in modern times
Score 6 out of 10
Vetted Review
Verified User
Overall Satisfaction with ASP.NET
ASP.NET is used for virtually every system developed and in use at my organisation, specifically MVC and webforms. It is used across the entire organisation for internal and external applications. It addresses the need to rapidly develop web-based systems to a pre-defined programming model that is proven to work (such as MVC) and have those systems be maintainable. It was a huge step forward, especially when ASP.NET MVC was released. However, when I compare it to even more modern technology, such as Express for NodeJS - it just gets too complicated too quickly. Express manages to accomplish the exact same functionality but in a very simple and succinct way. ASP.NET, as with all .NET based development, tends to get unnecessarily complicated quickly.
Pros
- Allows for rapid application development
- A very solid and well-defined foundation and programming model
- Fairly performant
- Templating with razor is excellent
- MVC was a huge step forward in its day
Cons
- WebForms is absolutely awful (in my opinion it is an abomination), it tries to hide the nature of the web from the programmer to make things easier, but it actually makes it much much worse and much more complicated than if it hadn't hidden it.
- In my experience it can get unnecessarily complicated quickly - as you move towards the boundaries of what ASP.NET can do, as you will on any fairly complicated project, you realise you suddenly have to hook in to undocumented or obtusely documented functionality, and you will need to put in little bits of code you found on stack trace but you aren't sure why - because Microsoft tried to hide something from the programmer but you end up having to customise it anyway. This builds and builds.
- NET can be really really slow when running under IIS, for some reason the app pool is constantly shutdown due to idle, but when the next person hits a page - it takes, in computational terms, so long for the pool to start up - causing embarrassing delays.
- It is somewhat boring now and doesn't really stand up to modern simple alternatives, like Express on NodeJS.
- MVC
- Razor
- Solid fundamental web based foundation
- API framework
- Dotnet Core support
- Identity
- Allows for rapid application development which saves money and time
- Can get unnecessarily complicated and be difficult to maintain at times, wasting time and money
- It's free, so there is no cost - though you may need to pay for Visual Studio
I have used things like Java Struts in my time and I have found technologies from that era are often quite alike. They were a big step forward at the time - but I think there are better things to use now. ASP.NET and Struts were in that same era, they still work really well and do everything you need them to, but there are downsides. I just think we should move towards simpler code rather than all this unnecessarily complicated strongly typed code. As an example, how many classes make up the ASP.NET foundation code? Too many in my view. I would much rather use Express in NodeJS.
Do you think ASP.NET delivers good value for the price?
Yes
Are you happy with ASP.NET's feature set?
Yes
Did ASP.NET live up to sales and marketing promises?
Yes
Did implementation of ASP.NET go as expected?
I wasn't involved with the implementation phase
Would you buy ASP.NET again?
No
Comments
Please log in to join the conversation