[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

NEWBIE: Development and maintenance time for Windows Forms vs ASP.NET?

Posted on 2006-04-21
12
Medium Priority
?
255 Views
Last Modified: 2010-04-16
Dear Experts,

My company is trying to decide between Windows Forms and ASP.NET (browser-based).  I'm looking for (a lot of) general advice...

In particular, could anyone compare the development and maintenance times for the same UI written in Windows Forms vs. ASP.NET?  

I know "it depends!", but if we made the following assumptions:

  We are equally skilled at both technologies (We're not, but for the sake of comparison, let's pretend.)
  We would be working in Visual Studio 2005 in either case.
  We would be using C# exclusively if Windows Forms.
  The UI is fairly complex, with a few dozen interconnected screens and connections to an MS SQL db.
  We're ignoring deployment issues for now (That's a different question...)
  We're just looking for ballpark advice, like: "This is usually about twice as fast as that...".

Thanks!
--BrianMc1958
0
Comment
Question by:BrianMc1958
  • 4
  • 3
  • 2
  • +3
12 Comments
 

Author Comment

by:BrianMc1958
ID: 16507196
Actually, if anyone would like to say A LOT, that would be even more appreciated...
0
 
LVL 12

Expert Comment

by:gbzhhu
ID: 16507844
As a general advice I would look at these issues first

WebForms
   For
   -  You will be reaching any user anywhere in the world that has a browser
   -  Updates to UI are transparent to the user, deploy to IIS and user sees immediately

   Against  
   -  Nowhere near as good as WinForms when it comes to complex UI
   -  I don't personally like fiddling with HTML and Server Controls  (personal opinion, maybe biased)

WinForms
   For
   -  Excellent for complex UI

   Against  
   -  Updates to UI need to be installed on each user's PC (You can make automatic updates but that is extra effort)

I would think of who the application is for.  A small group of people?  People from several countries, or world wide.  The wider the audience the more ASP.NET is suitable.  Winforms are richer and probably faster than Webforms but you cannot deploy worldwide without much effort


0
 
LVL 12

Expert Comment

by:gbzhhu
ID: 16507864
Development and maintenance both depend on the knowledge of developers.  Yes you did say that but that is all it comes to
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 44

Assisted Solution

by:Arthur_Wood
Arthur_Wood earned 400 total points
ID: 16508177
In general, if done 'correctly', the development time for BOTH UI approaches should be about the same - notice I said "if done correctly' - by that I mean that the development approach should be n-tier.

The Back-end Data Accessa layer talks to the DataBase and the Business Layer - and thus does not care at all how the User will be involved (web-based or windows based is 100% IRRELEVANT)

The Business Layer talks to the DataAccess layer and the User Interface layer, and again, the specific user interface layer implementation is 100% IRRELEVANT.

It is only the User Interface layer (which would be a set of Windows Forms OR a set of web-pages) talks to the Business layer (to get waht ever is to be displayed to the user, and to get what ever that user wants to have processed), and to the User.  it is only at this point the the Application cares how to interact with the user, and that should consist of show the user something, or get someting from the user - there should be almost NO 'processing' of the data in the User Interface - and to the User, HOW the processing, and Data storage is accomplished are again 100% IRRELEVANT - the user interface simply requires that when something is requested, it can be gotten, and when something is to be processed and stored, it can be - how that happens is IRRELEVANT.

The vast majority of the development effort on the project will be in the Business Logic Layer, and the Data Access Layer, and those will be equally applicable to a web-based version of the application or a windows based version.

In fact, I worked on such a development effort, with VB.NET, about a year ago, and the development of the Two versions of the User interface (a web-based interface and a Windows based interface), both of which were essentially IDENTICAL in functionality, was very easy.  The Interface development portion of the entire project (for both interface versions, in total) amounted to about 15% of the total developement time for the ENTIRE PROJECT. 85% of the time was spent on the 'back-end' work.

AW
0
 

Author Comment

by:BrianMc1958
ID: 16508552
To gbzhhu:  The application  is for a small group of people who share an intranet (basically, office workers.)  

To AW:  I do the "back-end" work myself.  I agree that's about 85%!  I realized after I had posted that I wasn't very clear about this:  My question applies ONLY to the UI.
0
 
LVL 12

Assisted Solution

by:topdog770
topdog770 earned 400 total points
ID: 16509037
In our experience, for user interfaces that have much complexity or that could benefit from "real time operations" like drag and drop or updates to some sections of the user interface based on user selections else where, the Windows Forms in terms of development time, user acceptance, performance issues, etc have been much better.

We tend to use Web forms for generally more simple needs or as has been mentioned earlier

CODE SNIPPET

   For
   -  You will be reaching any user anywhere in the world that has a browser
   -  Updates to UI are transparent to the user, deploy to IIS and user sees immediately

0
 
LVL 12

Accepted Solution

by:
gbzhhu earned 400 total points
ID: 16509260
I agree with topdog770

BrianMc1958 from your last comment I would personally go for Winforms.  There is no reason whatsoever to do it in WebForms.  Your app can be distributed easily to these small groups of people, you will take advantage of Winforms rich UI.

0
 
LVL 35

Assisted Solution

by:mrichmon
mrichmon earned 400 total points
ID: 16510286
I agree with Arthur_Wood.

If the base project is written in a n-tier model - and it should be - then there will be very little difference in development time for the user interface (i.e. web form vs win form).

We go with Web Forms, because we need to reach a large audience and now you can do most things with Web applications.

topdog770 said "user interfaces that have much complexity or that could benefit from "real time operations" like drag and drop or updates to some sections of the user interface based on user selections"

But this is possible in web applications.  We do this now in our web applications.

For an example of how similar web applications can be to win forms look at this:
Zimbra http://www.zimbra.com/

It is a web based calendaring system that mimics Outlook Calendar. Including drag and drop of events, etc.

This is only one of many examples that show that web forms and win forms are becoming able to do very similar user interfaces.

So instead you need to decide on factors like:
Do I want the users of my application to have to install software - or do I want to use existing browsers?
If I use browsers do I want to support all browsers or a subset?
Will my program need updates?

Also if you don't have web expereicne then it may be slower to do complex things in web than the built in controls of a win form.

So the web is a better choice for reaching larger numbers of people, or if you expect updates or changes and don't want to have to get them to each machine.

Winforms are better for small environments where you can require installs and push updates with new installs.

But either way if written in an N-tier model - it should be able to change from one method to another without haveing to change anything except write a different UI layer.
0
 
LVL 35

Expert Comment

by:mrichmon
ID: 16510316
Also you said "We are equally skilled at both technologies (We're not, but for the sake of comparison, let's pretend.)"

I would say that getting a fancy web interface is more complex and you would have to be more skilled than to get the same interface with winforms.  But "assuming you are equally skilled" then I would go with web forms since you can reach a wider audience and push updates easier
0
 

Author Comment

by:BrianMc1958
ID: 16510652
This is all very, very helpful.  I would like to keep this question open a little while longer in case anyone else has more to say.  It's very important to us...

Thanks again,
BrianMc1958
0
 
LVL 6

Assisted Solution

by:nehaya
nehaya earned 400 total points
ID: 16512581
For easy maintenace: Go WEB!

for develpment, it depends on your skills.

Alawys think about future of your software.. webforms are ALWAYS more stable.. (espically when you learn about the new technologies in WindowsForms, that will force you to at least : re-desing , re-install the software!

Regards,
Nehaya
0
 

Author Comment

by:BrianMc1958
ID: 16526556
Thanks very much, folks.  I'll be passing this along to our people.  Wish us luck!
--BrianMc1958
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

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.
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
Loops Section Overview
Look below the covers at a subform control , and the form that is inside it. Explore properties and see how easy it is to aggregate, get statistics, and synchronize results for your data. A Microsoft Access subform is used to show relevant calcul…
Suggested Courses

834 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