Tuesday, August 31, 2010

How to choose: Web or Windows Application?

Choosing between writing a Web application and a Windows application is like choosing between Superman and Batman. The man of steel can fly, shoot lasers from his eyes and pack a mean punch, while the Dark Knight has cool gadgets, a Batmobile and is a billionaire with a secret lair.

At QBCon we work on Web and Windows applications. There are a lot of things to consider when deciding between Web and Windows. Let’s look at some of the pros and cons.

Web applications

Pros

  • No special configuration or changes are needed on the user’s computer.
  • The application and information is accessible to a wide audience all over the world.
  • Centralised data is secure and easy to backup.
  • Anyone with a browser can access it, regardless of their operating system.
  • Deployment and version management is easy, making the application immediately available to all users. There is no installation to contend with.
  • When the application is used for in-house Intranet systems, no Internet connectivity is needed. Users only need access to use a local network.
  • Documentation, like quotes or invoices, is readily available to clients.

Cons

  • Depends on the hosting server.
  • Web applications that rely on the Internet to transfer data rather than a computer's local hard drive may operate slower.
  • Security risk of running an application of the Internet is more significant than when running an application on a standalone desktop computer.

Windows Applications

Pros

  • Program can be used without Internet connectivity.
  • The program runs faster as it sits on the local computer.
  • Reduced security risks that might include hacking.
  • Users don't have to compete for resources on the servers.
  • Direct access to machine com objects.
  • Cheaper over time.

Cons

  • Deploying a .Net application might be tedious because the .Net Framework needs to be distributed and installed on all client computers.
  • Platform dependant.
  • Software can be pirated.
  • Less chance of finding restrictions that the clients’ computer may have imposed.

Due to the fact that there is no clear winner, I suggest taking the following into account when deciding.

  • Security
  • Server’s hardware and software
  • User’s machine hardware and software
  • Geography of users
  • Delivery and development times
  • Downtime and maintenance
  • Updates and patches
  • Cost of development and maintenance

If the client has a smaller budget and needs an in-house application, go for windows applications. In all other cases, I prefer Web applications. With Web applications, I don’t need to go the client for debugging and maintenance so often. If the Windows application is flexible enough to be developed as a Web application, why not do that?

Written by Rudolph de Kock on behalf of QBCon.

For more information see the QBCon home page.

No comments:

Post a Comment