Fog Creek Software
Discussion Board

Welcome! and rules

Joel on Software

When to use ASP.NET

I am looking at rewriting three 16-bit Windows programs used at our company (150 users) in ASP.NET.  We have been mocking screens up in FP 2002.

I'm now asking myself "when do we use ASP.NET as opposed to a Windows program?"  If I have 20 screens in a Windows program with 10-20 fields on each screen, does that tell me right away that I shouldn't redo this in ASP.NET?

Some of our users use a couple of different web applications delivered by Application Service Providers already and I've noticed that they look great and work ok in 1024x768 but look terrible in 800x600 and navigate poorly in 800x600 because the horizontal scroll bar shows up and the user has to grab the mouse to scroll over.  Our users work in 800x600.  They can't see things very well in 1024x768 on 17" monitors.

Are ASP.NET web applications used for smaller purposes or are we not designing pages correctly or ...?  Are there any examples of good web apps with lots of data entry fields, drop down list boxes, and normal list boxes that look and act wonderfully in 800x600?


Bill Bolmeier
Friday, September 20, 2002

Use an auto-updating Windows Forms application, unless your clients can not run the .Net Framework.

Just me (Sir to you)
Friday, September 20, 2002

It's completely up to you which you use. If you use Windows forms, you can offer your users a richer user experience, but there is still the hassle of making sure all their machines can take the framework, and make sure everything installs correctly.

ASP.NET has the advantage that it isn't using the user's memory, isn't clogging up their hard drive, and takes no time to load.

Designing forms that are too big for the user's screen is a common problem, but it's just as common with Windows forms as Web forms. The only solution is to test at the same screen resolution the users will be using. It's certainly possible to design forms for lower resolutions.


James Shields
Friday, September 20, 2002

Use a Web Forms app if:

  You need easier access / configuration (only a web browser required -- can easily mount on the net)
  It helps you sell (some people like reading 'browser-based interface!')

Use a Windows Forms app if:

  You want a better user experience  (DHTML only goes so far, and it costs every step of the way)
  You need higher performance (round trips to a server each time -- especially with viewstate --  ouch)
  You want to spend a somewhat less time in development

Also, you can do a hybrid approach, by embedding Windows Forms on a Web Forms page.

Michael Giagnocavo
Saturday, September 21, 2002

Do you have any links to documentation about embedding Windows Forms within Web Forms?

J.P. Rhea
Saturday, September 21, 2002

There is an article somewhere on GotDotNet, but for some reason all my searches only return general information on .NET languages...

There is something in the MSDN library that comes with Visual Studio, but I don't know if it is also in the VS2002 library.

A wonderful example is:

Michael Giagnocavo
Saturday, September 21, 2002

Take a look at the following for informatin on "No impact deployment" (Deploying winforms via browser)

Chris Sell's Write-Up

Look under the talks section for "No Impact Deployment" @

- Anil

Anil John
Saturday, September 21, 2002

Watch out for planning on the web deployment of winforms apps. The client machine has to be VERY carefully configured in order for the security permissions to allow the app to run at all. It's unfortunately more of a proof of concept rather than a working technology at the moment.

Chris Tavares
Sunday, September 22, 2002

Well, all you have to do is install a .msi that configures permissions.  Easy.

Newer versions of the .NET framework will allow code to run by default, although they will pop up a security box.

Michael Giagnocavo
Sunday, September 22, 2002

1) look and feel possibilities with a DHTML front end are infinite - we've been able to do everything our minds conjure up

2) we recently converted a very complex forms/documents based DHTML/HTC web browser app to an HTA - the results are stunning - not only does UI behave like a windows app - we have access to the clients machine allowing integration with the win32API and applications running on the clients internal network - simple example - a web page that can read and write data to an excel spreadsheet located on the clients machine

check out:

3) the .Net framework is best used on the backend - ASP.NET is far superior to anything else out there

4) with HTA/DHTML apps seeming to answer all questions about total integration of everything - why would someone bother writing a client based app using the .Net framework?

Antony Alexander
Monday, September 23, 2002

Because HTML and VBS or JScript aren't the best way to create a rich UI.

I spent a lot of time writing a rather nice web interface with IE5 - VBS.  Getting most things done is just a lot harder.  Plus, you must deal with IE's DOM all the time.  You are still in HTML world -- even though the IE team did amazing things with their DOM.

Plus, tool support is just not nearly as cool.  Code runs slower.  Doing graphics work is far harder (even with DirectXTransforms from IE).

When you want to call down, you've got to use interop things -- not fun.  You can't use all the nice .NET framework classes as easily.  For instance, using an HTA, how would you encrypt something with RSA and Rijndael, then send that to some remote machine with TCP?

No, Win Forms Controls are FAR easier to use and create, and offer lots more flexibility, speed, and power.

Michael Giagnocavo
Monday, September 23, 2002

*  Recent Topics

*  Fog Creek Home