I have been working on a project that has 2 interfaces - windows forms and web. Over the past 8 months, we have faced more issues with maintenance of our web apps (works in IE not in FF, ajax breaks in some weird ways that is not easy to debug... ) and so on.
On the other hand, the winform app is easy to install. We have a xcopy version and click once deployment of it that allows the user to click on a link in the browser to download and install.When we upgrade the app all we need to do is to publish it on to the server and send an email with a link. When the user clicks on the download link ... they have a new version... all that is needed is the 2.0 runtime.
Is the tide now changing over to smart clients?
EDIT: Are the browsers now causing the problems with web apps (too many platforms.. not all of them following the same standards) that plagued the client apps?
EDIT: Web applications have to be tested on as many as 4 browsers (not to mention IE - IE 6, IE 7 and IE 8). Whereas smart clients run on top of the framework, so they dont need to be tested on all the OS's.
I've had some experience with this issue myself. One thing I've found is that some business and software management folks mistake the shallow learning curve* of web development with cheap development cost. If your project requirements are sufficiently light, it may be cheaper to build and deploy a web app, but I've found that there's a threshold where making a web app any more sophisticated becomes a massive pain compared to developing a desktop application. People turn to technologies like Flash or AJAX to bridge the gap, but sometimes it is much simpler just to write an app that runs locally and makes web requests than to provide the UI as a web site.
Aggressive marketing of .NET certainly helps in terms of turning the tide. :) I've had clients who don't really care whether an application runs locally or as a web site, just so long as it's using the .NET platform. This makes it easy to use the WinForms API for those really UI heavy projects that would cause nightmares as a web app.
* By "shallow learning curve" I mean that a web developer can start in HTML & CSS, mix-in JavaScript bit by bit, and move on from there to PHP--all of which are friendly tools compared to C++ or C# from the novice's perspective.
We had a PHP website for our intranet utility. We have switches since 2 years over a C# application with ClickOnce and everybody love to works with a desktop application. Update are done automaticly and the developement team have reduce to about 70% all GUI/Visual times. We might have this high level or success because most computer are pretty the same (all same OS and about all the same configuration) but well : success for us. Hope this experience give you some help to take your decision.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With