Comparing Windows Applications with ASP.NET Applications

Below, we compare Microsoft Windows Forms with browser-based applications. We have set some marks already, a ‘+’ meaning an advantage for the respective side. Of course, each of the statements below has to be measured by your in context with the requirements of your application. Decide for yourself what is important for your application, then give your own points or plus signs and decide if your application shall be browser-based or not.

Criteria

Win

ASP

 

GUI

+

 

If you need advanced GUI features, Windows probably is your choice.

Windows and MDI interface

++

 

One or more windows in a controlled MDI container are easily made in the Windows environment, especially if you want docking, resizing and anchoring.

More controls available

+

+

There are more controls (Microsoft and third party) available for the Windows environment, although the ASP.NET side is rapidly closing the gap. A plus for both sides because controls are really helpful!

Control functionality greater

 

 

The Windows controls have a slightly greater functionality, although you will have to decide if your requirements are met.

Reporting

 

 

Reporting controls and tools are available for both Windows and ASP.NET.

Printing

+

 

Printing from Windows applications usually is easier and more precise than from the browser.

User-specific configuration

+

 

If your users want to change appearance and behavior of their application, this is easily achieved in Windows.

Flow layout

 

++

No comment needed here.

Graphical display

++

 

Depends partly on the graphics card, but cannot be rivaled in terms of speed and detail by browser-based applications

Deployment

 

++

Local installation versus server installation. The ASP.NET side gets more points with every client that has to be connected.

Updates and administration

 

+

The same applies to updates whereas the administration efforts depend largely on your administration setup.

Needs specific OS and software

 

 

This only is an issue in heterogeneous environments; after all, every client has an OS. It might be an issue if several different OS (like Windows95, ME, 2000 and XP) are installed on client machines.

Needs a browser

 

 

Only die-hards work without one nowadays, so this is a purely philosophical statement. It might be an issue if several different browsers can be found on the users clients.

DLL hell, now version hell

-

-

Microsoft promised the end of DLL hell. After some painful experience we all agree that deployment hell still can be hell!

Performance/Speed

+

 

Advantage on the Windows side, especially if complex calculations and graphics are made.

Security

++

 

Do not trust anything displayed in a browser! ASP.NET needs great measures to compete in security issues.

Data processed locally

+

 

If data has to be processed heavily, either for display or verification, this usually is easier done on the client.

Offline work possible

+

 

If you already have all the data you need locally, which seldom is the case of course, you need a Windows application. Now this issue might call for a mixed Windows-browser solution, an interesting and controversial idea.

Network usage

 

 

Is slightly higher in ASP.NET environments.

Needs more local power

 

+

Windows applications call for more powerful clients.

Decentralized work

 

+

A windows application may need a VPN or some other secure channel.

Scalability

+

 

Just add clients… (this calls for interesting discussions)

Portability

 
-

+
-

Ha! Ever thought about that one? Upper row = same OS, lower row = to different OS

Possible functionality

+

 

Complex functionality with multiple dependencies is much easier to achieve in the Windows application.

Development time

+

+

Steadily decreasing with all the help we get. On the other side, applications get more complex. Points for both sides just to keep morale high!

Stateless programming

+

 

Usually makes things harder to design and program.

Tests and debugging

+

 

Easier with Windows applications.

Standards

 

 

Depends largely on which standards your company enforces. Slight disadvantage for ASP.NET because we have html as an additional language needing attention.

Realize requirements

 

 

Should be easier with a Windows application, but is a matter of taste.

Developers motivation

 

+

Almost everybody wants to work on web apps nowadays.

Programming languages

+

+

Available for both Windows and ASP.NET in the Visual Studio .NET IDE.

This table is thought as a starting point for your considerations if you have to decide between Windows and Browser when building an application. Comments welcome!