FOLLOW-UP: Why aren't WinForms much quicker to develop and maintain than WebForms?

Posted on 2006-04-24
Last Modified: 2010-04-16
Dear Experts,

First, please let me know if I am violating netiquette by asking so many questions.  We are in a rare intensive research stage this week.  I'll try to pester you all a lot less after that...

I have confirmed from EE that WinForms are (typically) build exclusively from C# (or VBScript), whereas WinForms typically require a range of technologies, such as C#, ASP.NET, HTML, Ajax, etc.  Yet responses to one of my (endless) questions indicated there wasn't much difference in development and maintenance time between the two.

Why not?

If seems to me that if everything you do is in a single language--especially in an OO language--that should make everything a lot easier and quicker.  Especially when you go to hire other people to support your UI, it seems a lot easier to find someone with C# experience, instead of C#, ASP.NET, HTML, Ajax and...

What am I missing here?  (I'm a UI dummy!)

Question by:BrianMc1958
    LVL 44

    Expert Comment

    "I have confirmed from EE that WinForms are (typically) build exclusively from C# (or VBScript), whereas WinForms typically require a range of technologies, such as C#, ASP.NET, HTML, Ajax, etc"  where did you get that from?

    WinForms (Windows applications) can be built, and are built, with ANY of the .NET languages (VB.NET, C#, J#...) as are WebForms (Web pages = ASPX pages, they are the same thing).  And VB Script does not come into the mix at all.

    I have built a very functional web site, for the US Army at Ft Detrick, MD, using  VB.NET as the programming language for the pages (twith no VBScript, and no C#), so I know whereof I speak.

    LVL 44

    Expert Comment

    It really depends on what you want your application to do.  WebForms use HTML, but there is almost no 'programming' doen in HTML.  And if you want your application to be highly interactive, the  AJAX might be an approach to take, but a typical Web-based application does not REQUIRE AJAX, so AJAX is a 'nice to have' skill, but not a REQUIRED skill.  And AJAX can be picked up fairly quickly, in any case.

    If you are going to build a Web-based application, then ASP.NET is the technology to use, but it is not a 'programming' language, in the same sense that C# or VB.NET are programming languages.  ASP.NET is the 'structure' around which the Web-based application is built, so to speak.


    Author Comment

    Sorry.  I meant VB.NET rather than VBScript.  And I didn't mean to say that WinForms cannot be built with other .NET languages.  I was just trying to contrast the simplicity of building WinForms with a single OO language (using C# as our choice) with the seeming complexity of building WebForms, which typically require a wider mix of technologies to achieve close to the same effect from the user's point of view.

    LVL 44

    Accepted Solution

    WebForms do not 'typically' involve a wider mix of technologies - that would only be the case if the specifics of your requirements involve those other technologies, and that same argument can be made for a WinForms application as well.  It all hinges on the specifics of the Requirements and the expectations of the users.  

    If the users are ALL (every one) located at the same place (in the same building, for instance) and have absolutely no need to ever use the application from any location other than their office, the a Networked Windows application might be the correct solution to the requirements.  On the other hand, if the users are distributed geographically, or have a need to be able to connect to the application from a number of loactions, then a Web-based solution would seem to be called for.  So the user's expectations and requirements are what determine how you approach the solution, just as it should be.  

    You, as the developer, should NOT be driving the development solution in a particular direction just becuase you (as the developer) percieve that one technology might be easier to implement.  That type of 'arrogance' will turn off the end-users of the application faster than anything else you might choose to do. (You are essentially telling your users, 'Trust me, I know what is best for you')

    LVL 7

    Assisted Solution

    Winforms (Thick Client / windows apps)
    Webforms(Thin Client / browser based web apps)


    WebForms : No install needed (in most cases)...lives in the Browser *****This is a big plus for many people
    WinForms  : Has to be installed on each client....allthough "Click-Once" allows for easy installation via the web.

    User Interaction:

    WebForms : Poor due to postbacks (unless AJAX is used), often different between browsers
    WinForms  : In most cases faster, easier to work with, and will pretty much look the same on all computers.

    Development: ****I do very little ASP.NET development, so this is a little one-sided.
    WebForms : Slower in my opinion , since you often try to mimic winform behavior using javascript tricks....
    WinForms  : Easier to develop and more straight forward.

    WebForms : Done on your server, everyone is working with the same version
    WinForms  : Many ways to implement updating, but unless you do implement a auto-update, people may be using different versions.

    WinForms win the development and UI battle.
    But Web apps excel as far as updates and installation.

    I will always go with a win app over a web one unless there is a benefit to serving it on the web.


    Author Comment

    Thanks again, folks.  

    Featured Post

    Courses: Start Training Online With Pros, Today

    Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

    Join & Write a Comment

    This article introduced a TextBox that supports transparent background.   Introduction TextBox is the most widely used control component in GUI design. Most GUI controls do not support transparent background and more or less do not have the…
    Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
    how to add IIS SMTP to handle application/Scanner relays into office 365.
    This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor ( If you're looking for how to monitor bandwidth using netflow or packet s…

    754 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    17 Experts available now in Live!

    Get 1:1 Help Now