Please support our Web Development advertiser:
Sep 7th, 2005, 10:37 am
Most ASP.NET Developers have no previous web development experience. Is that a true or false statement? I suspect it's true, but found no statistics to back it up. However, judging from posts in several technical forum sites, one certainly gets that impression.
"Halt App Until JavaScript Confirm Dialog Clicked". "JavaScript in code-behind problem". "How to fire ASP.NET code from JavaScript function". "Confirm delete". These are all titles of recent questions posted in various .NET forums. Also, I've seen a resurgence of questions that web developers either solved, or came to grips with, many years ago. For example, I've seen several discussions about how to "prevent" the user from clicking the "back" button! Another common area of confusion is the difference between client-side and server-side events and scripts. Why all of the confusion? I believe it's intrinsic to ASP.NET development.
One of the key "features" of ASP.NET is that it hides the HTML and JavaScript from the developer. ASP.NET consists of a large set of "ASP.NET Server Controls", which are placed by the developer onto a canvas called a "Web Form". Then the developer codes properties and event methods. Sound familiar? Yes, ASP.NET development was modeled after Visual Basic. This no doubt contributes to the wide appeal among traditional Windows developers.
Each ASP.NET Server Control "renders" or "outputs" HTML when the user browses to a page. In fact, a control may render different HTML, depending on the user's browser. In theory, this is a good thing. The developer doesn't have to worry about cross-browser issues. ASP.NET will automatically dumb-down the HTML for less capable browsers.
In actuality, it's terrible. For one, the web development community has largely solved the cross-browser issues, by using strict DOCTYPES, CSS and XHTML. If you want to produce XHMTL with ASP.NET, you're in for a long hard fight. You would need to "override" the HTML produced by each and every control, in effect, rewriting ASP.NET.
Secondly, shouldn't a web developer have a thorough understanding of, and a very fine control over, what the user actually sees? HTML is the fundamental building block of the web, yet many ASP.NET developers jump right into web development with only a cursory knowledge of HTML, because ASP.NET enables this lazy approach.
ASP.NET is a masquerade. It tries to obscure the fact that the web is built on a request-response model. Nothing can happen on the server, until the client submits a request. Meanwhile, the client has to wait for a response from the server. ASP.NET allows one to write code in response to a large array of "events", but the only "event" that actually occurs is when the user clicks "submit". Everything else is generated by the ASP.NET system, in response to what the user did client-side. By hiding this fundamental aspect of the web from the developer, ASP.NET causes the kind of confusion we often see in forum postings.
In discussing this with a long-time web developer friend, he summarized it this way: "ASP.NET makes hard things easy, and easy things hard". Does that echo your own experience? Do you have a love-hate relationship with ASP.NET, or is it the best thing that's happened to web development? I invite your replies.
"Halt App Until JavaScript Confirm Dialog Clicked". "JavaScript in code-behind problem". "How to fire ASP.NET code from JavaScript function". "Confirm delete". These are all titles of recent questions posted in various .NET forums. Also, I've seen a resurgence of questions that web developers either solved, or came to grips with, many years ago. For example, I've seen several discussions about how to "prevent" the user from clicking the "back" button! Another common area of confusion is the difference between client-side and server-side events and scripts. Why all of the confusion? I believe it's intrinsic to ASP.NET development.
One of the key "features" of ASP.NET is that it hides the HTML and JavaScript from the developer. ASP.NET consists of a large set of "ASP.NET Server Controls", which are placed by the developer onto a canvas called a "Web Form". Then the developer codes properties and event methods. Sound familiar? Yes, ASP.NET development was modeled after Visual Basic. This no doubt contributes to the wide appeal among traditional Windows developers.
Each ASP.NET Server Control "renders" or "outputs" HTML when the user browses to a page. In fact, a control may render different HTML, depending on the user's browser. In theory, this is a good thing. The developer doesn't have to worry about cross-browser issues. ASP.NET will automatically dumb-down the HTML for less capable browsers.
In actuality, it's terrible. For one, the web development community has largely solved the cross-browser issues, by using strict DOCTYPES, CSS and XHTML. If you want to produce XHMTL with ASP.NET, you're in for a long hard fight. You would need to "override" the HTML produced by each and every control, in effect, rewriting ASP.NET.
Secondly, shouldn't a web developer have a thorough understanding of, and a very fine control over, what the user actually sees? HTML is the fundamental building block of the web, yet many ASP.NET developers jump right into web development with only a cursory knowledge of HTML, because ASP.NET enables this lazy approach.
ASP.NET is a masquerade. It tries to obscure the fact that the web is built on a request-response model. Nothing can happen on the server, until the client submits a request. Meanwhile, the client has to wait for a response from the server. ASP.NET allows one to write code in response to a large array of "events", but the only "event" that actually occurs is when the user clicks "submit". Everything else is generated by the ASP.NET system, in response to what the user did client-side. By hiding this fundamental aspect of the web from the developer, ASP.NET causes the kind of confusion we often see in forum postings.
In discussing this with a long-time web developer friend, he summarized it this way: "ASP.NET makes hard things easy, and easy things hard". Does that echo your own experience? Do you have a love-hate relationship with ASP.NET, or is it the best thing that's happened to web development? I invite your replies.
This blog entry was written by tgreer. It has received 3,453 views, 0 comments, and 0 linkbacks. 1 voter has rated this entry 5 out of 5 stars. It was promoted to featured status Sep 7th, 2005.
•
•
•
•
advertising apple blog browser business daniweb data dell development economy email facebook firefox gaming google hacking hardware ibm intel internet iphone ipod linux mac malware marketing microsoft mobile mozilla mp3 music news open source privacy programming search security software sony spam stocks technology ubuntu video vista web windows yahoo youtube
All Recent Tags Post Comment
•
•
•
•
Only community members can start a blog or comment on blog entries. You must register or log in to contribute.
•
•
•
•
•
•
•
•
DaniWeb Web Development Marketplace
Related Blog Entries
- ISO Uses PDFs Too, Standardizes Format (3 Days Ago)
- Microsoft announces host of new Internet Explorer 8 security features (3 Days Ago)
- Latest Mac OS X Trojan Might Be Sign of Things to Come (5 Days Ago)
- Yahoo Mail Open—then Closed—to Hackers (9 Days Ago)
- Barack Obama is following me on Twitter! (11 Days Ago)
- Salesforce Says ‘Hey, Google, Get Onto My Cloud’ (12 Days Ago)
- Web forms are still the gateway to security hell (15 Days Ago)
- Ruby, Ruby, Ruby - Vulnerable, Vulnerable, Vulnerable (15 Days Ago)
- No Flash Required: SproutCore Project For Rich Browser Apps (17 Days Ago)
- EBay, PayPal Pal up Further With Developers (19 Days Ago)
Related Forum Threads
- Updated : Simple ASP.Net Login Page (ASP.NET)
- ASP.Net Error with C# Coding (C#)
- Can any one tell me what is the good tool to develop asp.net page (ASP.NET)
- Simple ASP.Net Login Page (Using VB.Net) (ASP.NET)
- IIS and ASP.Net (ASP.NET)
- Populating & Retrieving Data in a listbox : ASP.NET (w/ VB.NET) (ASP.NET)
- Question for ASP.NET/Mozilla Users...or anyone... (ASP.NET)
Featured Entry