From the Editor
The Fun of Being Bound. Web Applications Suck!
Well, perhaps that is a bit of an overstatement
Jul. 27, 2005 07:00 PM
Web applications suck! Well, perhaps that is a bit of an overstatement. Let me rephrase: Web applications are not appropriate for all situations.
In my case, I have spent the last few months working on a series of ASP.NET applications that should really have been done as Smart Client applications. While working on this, I have been playing with the new Object Data Binding features in .NET 2.0 and falling in love with them.
Three Signs You Don’t Need a Web Application
So, why should the applications at my client have been Smart Client applications? For those of you who might be familiar with this decision-making process, here are a few clues.
First, is your organization a 100% Microsoft shop? If you know that you have the power of Microsoft Windows on every desktop, why would you want to confine yourself to the platform-neutral features you can access via Internet Explorer and ASP.NET?
Second, is your application going to be used entirely internally? If you don’t have to worry about access by the general public, why not leave security to the internal Windows security features, rather than struggling with Forms authentication or any of the other patterns you need to build yourself in order to secure a Web application?
Last, how many people are going to be using your application? If anyone tells you that Web applications are easier to distribute, then you find out that only five people are going to be using your application, I strongly recommend that you reconsider the decision to use a Web application instead of a Smart Client.
Great Things About Windows Forms 2.0
Now that I have given you some warning signs that you don’t need a Web application, let me tell you why my client is switching to Windows Forms built on .NET 2.0 for all future development.
I started designing a Windows Form replacement for an ASP.NET application that had taken about a year to build. I began with a code generator (the Foundation Business Objects Accelerator) that created objects for use with CSLA. For more information about CSLA, see my interview with its creator, Rocky Lhotka, later in this issue.
Using a code generator, I was able to generate objects for all of my application’s entities in about an hour. Although these objects could be used in ASP.NET, the model of instantaneous updates and object-level data validation would lose a lot of its power in the stateless, disconnected world of the Web.
Using the new object-binding features of .NET 2.0, I was able to create a GUI to sit on top of my business objects in the remainder of my first day. I then spent the rest of the month coding business logic and now, after just one month, we have a Smart Client that is infinitely easier to use and more powerful than its ASP.NET ancestor, which took a year to build.
Object binding is just one of many great new features in .NET 2.0 that will help you to be more productive and happy as you create software. In this issue, you’ll learn about many more of them – enjoy!
About Derek FergusonDerek Ferguson, founding editor and editor-in-chief of .Net Developer's Journal, is a noted technology expert and former Microsoft MVP.