Home > View Post

Overlooking Smart Clients

It never ceases to amaze me just how popular the web platform has become with developers. I guess it's not that suprising when you consider all the great things it carried to the enterprise application playground (zero deployment, easy upgrades etc). However, in the move away from 'thick' clients we did lose some important stuff:

  • Rapid Data Entry - web interfaces are typically very clunky
  • Rich user experience - AJAX helps but it's still much harder
  • Ability to work offline

So for internal applications focussed on data entry or rich interactions, Smart Clients would clearly have a lot to offer. This is especially the case now that we have things like ClickOnce to take care of automated deployment. Given that most businesses are taking service-orientation seriously, the smart client approach becomes even more viable because much of the business logic will still be implemented on the server, in our 'web comfort zone'.

The thing that surprised me most about going back to Windows Forms development was how much time I saved by not having to worry about the stateless nature of a web interface. Even though the ASP.NET team have done a great job in trying to abstract this away with things like ViewState, it's still a leaky abstraction. Furthermore, all the stuff I'd normally have to do with JavaScript (don't get me wrong, it's a language I love) I now get to do in C# (which I love more :).

I used to be of the mindset that you chose thick-client only if you had to and web for everything else. However, with the release of .NET 2.0 and all the great stuff it brought to WinForms, opinion is slowly swinging back and I think the excitement that WPF is clearly generating will only add momentum.

What platform will you use for your next project? If the shoe fits, consider smart clients. It could save you time and end with a better result.

Further reading: the Patterns & Practices Group at Microsoft have a whole section devoted to Smart Clients. Also, check out this article was recently published in the MSDN magazine.

Tags: WinForms.NET

Josh Post By Josh Twist
1:08 AM
18 Aug 2006

» Next Post: Fitts Labels and Accessibility
« Previous Post: More run dialog shortcuts

Comments are closed for this post.

Posted by Brian @ 18 Aug 2006 9:04 AM
I see advantages to both, up until a year ago, I was in the web camp. I have been working for a year on a win form app now, and some of my thoughts have changed. What really bugs me though is that the benefits you mentioned for win forms apps are rarely realized. The Rich User Experience increases the applications complexity, therefor a lot of time the developers are trying to restrict the UI back to something manageable. The ability to work offline, well, most of the time developers are not writing their apps to be used off line. Most win forms apps I see only run when they are connected to the database.

Of course, it may just be my narrow view of what I am seeing, but I still believe that web apps work best.

Posted by Josh @ 18 Aug 2006 12:18 PM
I agree that winforms are rarely pushed but I don't think that matters too much. For me, the fact remains that rich UIs 'scale' better to expert users and therefore are often better suited to even mundane CRUD apps for internal use.

As I say, only if the shoe fits.

Posted by Guy Peled @ 08 Sep 2006 2:55 PM
I am the engineer of a new platform called Visual WebGui that provides WinForms development over web that can provide another alternative to the issue raised here. No generation or one time conversion but a pure replica of WinForms API and design time capabilities over a unique AJAX communication level that is underneath the hood. This concept will provide in the future also an offline deployment which will enable to develop your web application with the same code base as your offline version.

Live sample:

© 2005 - 2022 Josh Twist - All Rights Reserved.