In one of my recent projects, we had to decide whether we should write our application as a Windows Forms application or an ASP.NET Web application. Here are some of the points that can help deciding if you should write your application as a Windows Forms application or an ASP.NET Web application.
This table may help you decide what type of application you should build.
Windows Forms
ASP.NET Web Application
User Interfaces, data binding etc.
Easy to build
Difficult to build
Deployment and Maintenance
Complex. New versions of assemblies, configuration files, and other required files must be deployed on all client machines. Usually user interaction required.
Easy. Need to deploy assemblies and configuration files on the server only. Transparent to the client.
Performance
Faster
Slower
Robustness and Reliability
One client machine goes down, other users are still live.
Usually web servers are never down. However if the server goes down, all users are affected.
Network Congestion
Depending on the data transfer and connections made to the server from various clients.
Depends
Resources
Runs on the client machine.
Runs on a Web server.
Catastrophic failure
User interaction required.
Usually user interaction not required.
Framework dependency
All client machines have to install required versions of .NET framework and other required libraries.
Only server needs to have .NET framework and other required libraries.
Table 1. Comparison between Windows Forms and ASP.NET Web Applications.