I love a good discussion even if blogs, comments, and track backs are an extremely poor way to have one. Joe Brinkman, someone I have known face to face for several years, and someone I respect, read my previous article about my call to arms aimed at developers not spending enough time making their sites work across browsers who are using Asp.Net. He responded with a post referencing the Alt.Net movement. My article has a lot of truth in it and some good points but at the end of the article I gave a recommendation for developers to consider using Asp.Net MVC. It is this that seems to have spurred not only Joe on but several other people as well. So for Joe and several others that responded, seemingly turning the discussion into MVC vs Webforms (which was not the intent), here you go.
I want to start with Joe’s reference which he heavily eluded to the fact that I’m a part of the Alt.Net movement. First and foremost let's be clear that I do not lump myself into the Alt.Net movement. With that said I don't publicly disassociate myself with Alt.Net either. I pretty much stand in the middle I think. Standing in the middle is something I like to call NORM.Net. I want to start there because the tone of Joe’s post seemed to lump me into the throws of a movement whereby he read my article thinking I was involved with said movement and coming at it from that angle. This is not the case. I’m just a normal guy trying to write code and solve problems and peaking around the corner to see if there is something else out there. I’m not sure what that makes me but when I wake up in the morning I feel like a normal developer with average skills trying to do an outstanding job for my employer with what God gave me to work with.
Joe did make some great points and he was dead on about developers having to care. This basically sums up the first two things I said which I'll get to in a second. It is funny he mentioned the drag and drop scenario because I’ve spent hours arguing that it has a place. Obviously that stance wasn't popular with who I was arguing it with but again I'm NORM.Net. Like Joe I've also argued that Webforms and drag and drop can be made to be compliant and yes the onus is on the developer to make it compliant. Here is the thing though. If Webforms is the only thing a developer has to work with, he/she certainly has to care more and work harder to make it compliant.
Secondly let me clear this up. I gave "recommendations" not "solutions". I gave my recommendations based on something someone that cares about standards and cross platform ability can use once they buy into my first two points. The first two points of my recommendation were simple:
1. Care more about web standards
2. Do extensive testing on more than just IE, test across more platforms
If a developer does those two things, and those two things alone I wouldn’t have had three scenarios to point to that forced me to use Internet Explorer. That’s how the problem is solved folks. Make no bones about it.
If the developer is doing those two basic things, caring and testing, here is what I think will happen. I think they will eventually come to the realization that Webforms is much harder to do this with. It is for this reason I threw out the MVC recommendation. This is the same conclusion that countless developers that have investigated Asp.Net Webforms that are experts in other technologies have come to the conclusion of as well so this is nothing new. Ask any ruby dev or php dev or insert dev here what their experience with Webforms was and they'll say without waiver that it was painful. I've felt that pain before as well and thus if there is something better out there that solves for the problem use it. See? It is about using the right tool for the job.
Therefore, instead of using Webforms and working around some of the challenges it brings to the table (which doesn't mean you can't, it boils down to ones pain thresh hold) my recommendation is to use MVC for "public facing web sites". Meaning if someone asks me what they should use for a public facing web site, from me, they will always get the answer of Asp.Net MVC, at least to start with. Does that mean MVC is the one single end all be all answer forever? No. It is a starting point and as part of the NORM.Net movement I reserve the right to look at their situation and recommend something else if another tool would serve the situation better.
Now I use the words "public facing web sites" in quotes to highlight the fact that this requirement must be part of the conversation. If someone asks me about building an internal application for their Intranet, they will get a different answer because for internal applications there is typically a standard set to support one browser and RAD plays a much bigger role. Again, use the right tool for the right job.
At the end of the day, all I'm saying is for Asp.Net developers to 1) care and 2) test and 3) use the right tool for the right job. I think that is a pretty level headed approach. We can argue MVC vs Webforms all day long but honestly I really don’t care. Seriously, I really don’t care what someone uses as long as I and others are not forced to open another browser to get to a web site. This is what spurred this whole thing on. It isn’t about tools and I’m even sorry for throwing the MVC recommendation into my previous post because it has distracted so much from the problem.
With that said, I will say this. I don’t care what my neighbor uses to mow his yard. If he chooses to mow his yard with a push mower and it takes him 4 hours to do so I don’t care. All I care about is he mows his yard, the end result. When I first bought the house we live in now I mowed our 1.5 acres with a push mower. It took 7 hours to get to the end result of a mowed yard. After mowing the yard twice, I replaced that tool (the push mower) with another one (48inch riding mower) and now the end result takes 1 hour. Feel free to apply that story to this conversation however you want. I’ll let you, the reader, decide where it goes.
NORM.Net President and Founder
Keith Elder
PS – for those that don’t know my sense of humor, no I’m not starting another .Net movement
posted @ Friday, August 29, 2008 10:26 AM