The Ajax Experience
JD, reporting from the Ajax Experience conference says:
"The "browser differences" problem looks like it's being pushed up the stack, into the "framework differences" problem. Techies tend to have a weakness in focusing on initial development, and ignoring support and maintainence costs... we tend to be fascinated by Bright Shiny Details, and get excited about new things we can accomplish. I could easily be wrong in this prediction, but the sense I got at this conference was that there was a looming problem in sustainability that remained unaddressed by the speakers I heard."
And this is where it belongs for now. This concept isn't really new. Even before Java and .NET, people abstracted away platform differences with C++ libraries. The ideal situation certainly isn't coding all the differences yourself. Yeah, maybe the original dev might be able to modify the code a little easier if he wrote all the code to abstract away the differences, but he is probably going to be making a lot more changes and certainly going to take a lot more time to get the job done. If we are talking about long-term maintainability, when that dev leaves or another dev comes on the project you are probably worse off writing it yourself. Frameworks written for mass consumption generally have cleaner code than frameworks written by a few in house guys for their latest project. The solution is not trying to keep all the framework differences on your plate. The solution is to make sure you chose a good Ajax library. This is exactly where companies like Microsoft come in with Atlas. This provides you with a framework that is going to be maintained, that is going to be tested, and that is going to be improved--all by other people, people who understand the browser differences and the Ajax space better than you or any of your developers will any time in the near future.
[1] http://weblogs.macromedia.com/jd/archives/2006/05/ajax_experience_2.cfm