20 March 2007

ASP.NET is bad? I disagree.

Earlier today, I read up a post on Gadgetopia  on the bad of ASP.NET, especially web forms which I don't agree.

I concur to the fact that view state should not be abused, but not view state itself is bad. Comparing to other frameworks like JSF and Struts in Java, with people abusing sessions for storage, I felt view state is actually a better solution.

I was replying to the comment and got carried away, such I felt it's worthy to copy and paste it here and make it a post on its own.

 

-- My comments take from Gadgetopia--

 

I’m going to have to mostly disagree and I’d like to put my 2 cents on this issue.  I’m a J2EE developer during my day job and a .NET developer of my own project management software. So when I had to make a decision of what platform to choose for my software, I was careful. I really could swing either way, didn’t matter to me.

 

First of all, I do concur for those who’ve only done asp.net using web forms, they’ve missed quite a few good ideas out there like Struts and JSF, but is it fatal? No. Struts and JSF has their own pitfalls. Can this be said for those who only used J2EE, PHP and Cold fusion? That they’ve missed a lot? Sure, I can say the same thing. Every framework has its good ideas that  the others should learn from.

 

Second, it’s amazing that the author read up on the original HTTP spec. However, to look for the same thing in “web developers” especially asp.net developers? That’s a bit harsh.  I don’t agree with the fact anybody doing day to day web development has to know the http requests and responses at the ASCII level, let along reading HTTP spec. It’s like asking everyone who uses Unix to know the kernel details, that’s just too crazy for me.

 

Asp.Net does abstract a lot of details away from the developers, but in my experience, .net developers on the contrary know a lot about the underlying mechanism. To simply understand how the postback works, you have to understand what “POST” means. To effectively understand the asp.net page life cycle, how page is loaded, how events are fired, what comes first, what comes next,  you can’t get pass it unless you study the underlying mechanism.   To use ViewState, we understand where it is stored and how it is stored.  Why is it good and why is it bad. Such most experienced asp.net developers rarely use view state manually or if any at all unless they have to, such as when developing composite controls.  Struts MVC and JSF is nice, but where do they retrain their values? Two most commonly used ones are sessions and request. I’ve seen way too many code stores everything in session, no thanks, I’ll stick with view state.

 

It is my opinion that ASP.NET on the contrary is for more experienced web developers. The whole GUI component binding framework is meant for a strong 3 tier development. ObjectDataSource for example enforces this methodology, for people with no object oriented programming background it’s not easy to grasp.  As for web standards and accessibility, like any other web frameworks, those who cares are fully aware of them.  In fact, that’s what the CSS Adapter is developed for. 

 

For those coming from desktop or elsewhere like php or simply has no web experience what’s so ever,  they tend to abuse it and do things that aren’t meant to be used. Drag and drop, extensively use the first thing a book talks about. .

 

Long post, my point is, bad developers will be bad no matter which framework you give it to them, I encourage those to read up more on ASP.NET as I personally think it’s a good alternative albeit not a better framework than Struts/JSF.  

 

The only reason I choose ASP.NET over J2EE/Struts/JSF for my software is not because of the framework. It's because J2EE development is not easy to first set up. There are lots of integration issues between various frameworks, building tools, in addition to compatibility issues with their deployment servers. For example, ACEGI filter no longer works here with the new Websphere 6.1.0.3. You want help with it? Well, not everyone has websphere 6.1.0.3, good luck on finding support on it. (Good thing we finally did)

 

It's due to these type of complexity of J2EE environment issues and from small business perspective, the issue of supporting deployment server like JBoss, Websphere and WebLogic, we said nope, ASP.NET is the only way to go for our business.

 

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Liming said:
Hello Deane,

Honestly, i considered ruby on rail, it's not in one of my skill set at the minute, but it's definilty one thing I'd like to have as an option for our software.  That's how MonoRail came up to us in the first place, we like O/R mapping, we like MVC..  

We already have NHibernate, now we just need a strong MVC framework (which I admit is something .NET lacked in the past 5 years)

Hopfully, WFP will sovle all of that.  I'm just really looking foward to move on .NET 3.0.

20 March 07 at 4:35 PM

Leave a Comment

Comment Policy: No HTML allowed. URIs and line breaks are converted automatically. Your e–mail address will not show up on any public page.

(required) 
(optional)
(required)