ASP.NET gets no Respect: Rick Strahl has written a really brilliant article about why ASP.Net gets a really bad rap. It’s a great roll-up of all the arguments leveled against .Net, and Rick is objective enough to admit that some of them are even true. I think this is an important article for any ASP.Net developer to read, especially new developers or those about to learn the platform.
For instance, Rick nails this point about how ASP.Net tries so very hard to abstract developers away from HTML and CSS:
ASP.NET – at least using the Web Forms engine – uses a different approach to Web development that is based on abstraction and effectively hiding many of the HTTP semantics from developers. In some ways this can be very efficient and produce very rapid results if you know what you’re doing and you flow with this concept, but if you are coming from a raw HTML and CSS background or even as a developer from other tools that are based on raw HTML/CSS principles it’s actually difficult to get your head around the abstraction that Web Forms provides.
Web Forms also produces HTML that is not easily styled via CSS so traditional design mechanisms can be more involved. […]
That last point especially drives me nuts.
As for me, I’m slowly coming around. I actually enjoy writing ASP.Net now, with a few bumps. I still think the implicit encouragement to abuse Postback is inexcusable (Applebees still hasn’t fixed that page…), but other than that I find ASP.Net to be a solid platform, and I’m really doing some interesting things with it.
We’re a partner with one .Net content management company, and we’re on the verge of signing a partnership agreement with another one, so Blend is actually betting a fair amount of the future success on the .Net platform.
Back to Rick’s article, he covers some other really salient points as well, like Microsoft’s Ajax framework, a system about which I have never heard anything good:
True. For me to even consider this, you have to make it better than JQuery. Good luck with that.
And, ASP.Net is harder than your average platform:
Maybe an even bigger concern is that ASP.NET or .NET in general has a pretty steep learning curve. Web development is never easy, but ASP.NET involves learning a fair bit of framework functionality before you can really be productive and get stuff done.
It does have a learning curve, but I’ve found that ASP.Net is more friendly to code-reuse than any other platform I’ve used. Using it, I tend to solve problems only once, and I’m able to abstract things away and develop re-usable libraries extremely easily.
Finally, I can’t let this slip by:
I’m always amazed how many people outside of the Microsoft fold have such intense loathing of Microsoft. It’s not just dislike, but a virulent loathing where anything Microsoft is considered evil.
I feel this way about Apple. And I’m not kidding.
I was reading through the comments, and there’s a great one that is, as I write this, the last one on the page. There’s no way to link to a specific comment, but it’s from David Betz, and starts out “…and another thing!” David really dismisses the “WebForms suck” argument:
Once you get past the EXTREMELY naive belief that ASP.NET is WebForms, you can do just about anything. Many people think of ASP.NET as being WebForms, “Magical” PostBack, and ViewState. […] ASP.NET is just a .NET application with one C++ based DLL. For the most part, it’s just a bit C# application. Change it, hack it, bend it… do whatever you want. It’s RAW power.
He’s right, this is is a common misconception, but until Microsoft came out with MVC, they did nothing to dispel it. It’s a lot like the Classic ASP = VBScript association that Microsoft really let stand unchallenged for all those years. They should have released MVC five years ago, which would have cast ASP.Net in an entirely different light.