Mike Borozdin's Blog

A blog about programming, web and IT in general

ASP.NET Myths Busted

busted Having read a great variety of forum and blog posts, I met a lot of misconceptions about ASP.NET that definitely made people to turn away from ASP.NET. I won't argue whether ASP.NET is better than PHP (or Ruby on Rails) or not, instead I'll try to bust those myths.

 

 

 

The common myths are:

  • ASP.NET is slow
  • ASP.NET produces non XHTML compliant code
  • ASP.NET validators work in IE only
  • ASP.NET produces dirty HTML code that is full of tables
  • ASP.NET is only about drag-n-drop controls
  • ASP.NET doesn't allow you to use any other databases except Microsoft SQL Server
  • ASP.NET doesn't allow you to use friendly URLs

ASP.NET is slow

That is certainly wrong. This misconception is caused by dynamic compilation, when an ASP.NET application is accessed for the first time it gets compiled unless it wasn't pre-compiled before. This leads to a delay in page loading. However, the next requests are served much faster.

ASP.NET produces non XHTML compliant code

Wrong. In fact, ASP.NET since its 2.0 version produces XHTML compliant code.

ASP.NET Validators work in IE only

First, all ASP.NET validators perform server-side validation that is surely cannot be browser dependent. Second, client-side validation works in any modern browser.

ASP.NET produces dirty HTML code that is full of tables

Well, some ASP.NET controls really output the code that is full of tables, however due to the extensible nature of ASP.NET you can write your own adapters that will extend the current controls and make them produce clean tableless code. Actually, you don't need to write adapters yourself, there is already a good set of ones available for free download.

ASP.NET is only about drag-n-drop controls

No. Although Visual Studio allows you drag controls from the Toolbox in the visual or in the source code, you still can write code yourself, IntelliSense helps a lot with that. Even if you use the drag-n-drop method and the visual tools, you still can see all the changes in the source view. Basically, those tools don't hide anything from you, they just generate the code that you can always view and modify.

ASP.NET doesn't allow you to use any other databases except Microsoft SQL Server

No. You can you any database that has a .NET provider. At the present time, you can find providers for MySQL, Oracle, DB2, PostgreSQL, Informix, Sybase, sqlite.

ASP.NET doesn't allow you to use friendly URLs

No. Just read some tutorials, for example, this one. There is also a module for IIS 7 that provides a mod_rewrite style of URL rewriting.

ASP.NET MVC Framework

If you want to have 100% control over HTML code, then you should definitely have a look at ASP.NET MVC Framework.

Conclusion

I think there are some more misconceptions. Anyway, if you already developer web sites with ASP.NET, then you are likely to know the truth, however if you develop web application with some other tools or want to start web programming, I recommend to take a closer look at ASP.NET. Sometimes, it is not a best option to read opinions on web forums that tend to be biased sometimes. You'd better visit some comprehensive resources, like www.asp.net and msdn.microsoft.com.


Tags:
Posted by Mike Borozdin on Wednesday, August 27, 2008 9:29 AM GMT
  Shout it Kick it!  
Permalink | Comments (9) | Post RSSRSS comment feed

Comments

DotNetKicks.com

Wednesday, August 27, 2008 2:32 AM GMT

trackback

Trackback from DotNetKicks.com

ASP.NET Myths Busted

Andrey Shchekin Russia

Saturday, August 30, 2008 10:18 PM GMT

Andrey Shchekin

The clean-HTML problem with ASP.NET is not that it can not do something, is that it is hard to do.
For example, getting not table-based TreeView using MS-provided ControlAdapter means that AJAX loading no longer works for the TreeView.

But the most important advantage of MVC is not just control over HTML, it's the architecture itself.

asp.net Russia

Sunday, August 31, 2008 12:24 AM GMT

asp.net

yeah, asp.net is cool.

Best regards,
Dmitry Dmitriev

Eugene Russia

Sunday, August 31, 2008 3:25 AM GMT

Eugene

> ASP.NET Validators work in IE only
it's true for old version of asp.net

Pete

Sunday, August 31, 2008 7:45 PM GMT

Pete

Don't forget that ASP.NET consists of compiled applications, to compare to PHP or RubyOnRails which are interpreted and therefor X times slower.

Simone Italy

Sunday, August 31, 2008 9:28 PM GMT

Simone

The problem with ASP.NET webforms is that it doesn't enforces good design and best practices by default:
you can have a nice RESTful url space, clean looking div based controls, also separation of concerns using the MVP pattern or the wcsf, but all requires work by the developers.
This is not bad, but unfortunately most of the devs just stop when they see you can D&D a control, double click on it, add some code to store to the DB. Maybe we should kill those developers... Smile
With the ASP.NET MVC fw you as developer are obliged to follow the best practices since it's the way the fw is built.

Dave United States

Saturday, December 06, 2008 12:45 PM GMT

Dave

It doesn't matter how good the xhtml output is since Internet Explorer doesn't use it anyway and Microsoft has no plans to do so.  It gets treated as bad HTML so why bother?  Except if you want to serve it to any other more advanced browser like Firefox, Opera, Safari, Chrome, etc.

Mike Borozdin

Saturday, December 06, 2008 12:51 PM GMT

Mike Borozdin

Dave,

What do you mean by saying that IE doesn't use it? IE8 is a fully standard compliant browser.

DotNetShoutout

Tuesday, February 24, 2009 1:19 PM GMT

trackback

Trackback from DotNetShoutout

ASP.NET Myths Busted

Comments are closed