Hey Brad,
Marc already pretty much covered why in high-function apps Windows is a much
better choice than Web for the non-mass cases.
Another view of the same points is that a Web app would probably cost
_TIMES_ as much as a Windows app to truly match the functionality and
performance still would not equate.
If your client is interested in the "whys", tell him to consider what's
involved (at a basic level).
- Windows apps have a fairly consistent front end while Web apps should
generally support lowest common denominators which can in some cases really
constrain the development and force a lot of work arounds.
- Windows apps will run across a network where state can be maintained. The
Web is stateless, so any state management is grafted on. It's like driving
to the store where you know the path versus having to stop and call the
store for the next direction at every intersection.
- State management aside, performance will still be slower on the Web. Most
any "real" decision MUST come back to the server then get relaunched. Even
with high-speed connections, that will still be a bottleneck. Plus, more
has to be built around the response. A WinForm may just need to check back
to get data, the Web app gets the data, then has to build the HTML around it
before returning.
If he's trying to find out which way to go, i.e., he thinks the Web is a
good idea but really has no current need for it in the app at hand, tell him
to go Windows and you, being the incredible developer you are, can build the
classes with that in mind for the easiest path to putting a Web face on the
Windows app should that day come.
- John
Brad Simon said:
My Client asked me to put together some reasons as to what determines if
an application would be developed as a windows application or web
application. I have started working on it, but I would like to make sure I
don't miss anything. So, I will leave the question wide open, what are your
considerations for developing a web application vs. a windows application?