Tuesday, August 01, 2006

Putting ASP.NET 2.0 to the test on new websites

Although I have friends, and consultants working for me, that have quite a bit of experience with Microsoft's ASP.NET and now the newer 2.0 flavor, I personally have had very little experience using it first hand -- until now.

When the first incarnation of "DotNet" arrived on the scene, along with ASP.Net, VB.Net, and C#, I read all sorts of MSDN magazine articles, purchased and read multiple books about ASP.Net, and so on. Then, I started playing around with it and found out first-hand how much I could not stand certain aspects of developing ASP.Net web-pages (I had only used "classic" ASP and a bit of PHP/Python for dynamic web-sites prior to this). ASP Classic has its issues, and provides a rather basic environment for a brute-force code-development approach to dynamic web pages -- nothing very sophisticated, and surely not very Object-Oriented.

Although DotNet promised all sorts of advantages over ASP Classic, all I found were layers of complexity offering little to me (compared to classic ASP) - especially when I was used to the true OOP (object oriented programming) power of Borland Delphi for developing GUIs (graphical user interfaces), and in particular the concept of "visual inheritance". THAT is one seriously powerful capability that I make regular use of when developing GUIs. Well, ASP Classic has nothing like that (sure, you can use "include files", but that is nowhere close to the power I expect and demand). So, next was ASP.Net and a few new (per Microsoft's idea of new) concepts like code-behind pages (allows better separation of GUI/logic) and the likes. But, still not much for true visual inheritance throughout your dynamic web-page design.

Well, finally, ASP.Net 2.0 showed up and offered some compelling paradigm changes to the way dynamic web-pages are created, and extended, using a much more OOP type approach. Now there is the concept of "master pages" -- ABOUT TIME! These things appear to finally offer me what I want, or at least a good enough foundation for what I want, in order to accomplish a decent amount of re-use throughout my web-pages.

Now, since I finally have a NEED to do some large-scale web-site buildouts of my own, I have decided to dive headlong into this DotNet 2.0 world and use a few of the latest features (basically skipping the original DotNet 1.0 release completely; and I am thankful I did not waste time learning workarounds only to unlearn them in 2.0 version). I am currently working on master pages for my new book site, and am separating the code (business/data-retrieval logic) from the presentation layer much better than ever before. I plan to give asynchronous pages a go, and will code all functionality in C# 2.0. From my early work, things look promising and DotNet 2.0 may finally provide enough functionality to win me over and give me a compelling reason to upgrade and migrate my legacy ASP Classic code. I will report more details of the migration, as well as source-code and tips learned, etc. on my company web-site (under free software) when I get a chance. But for now, back to work -- much to do!

No comments: