Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What UI Technology to use? [closed]

OK.. I am sorry for asking an often asked question once again, but I AM CONFUSED!

First my requirements.

  1. To develop/ deploy on Windows XP/ 7.
  2. Easy to use and visually appealing for a not so tech savvy user.
  3. Regular reporting of data of a Non Profit Org.
  4. Having .NET as the preferable back end, as I have already devoted a year learning c# and the framework.

Now my issues.

  1. There are so many conflicting opinions on the web. Some are saying WinForms are dead and WPF is the way to go.
  2. I had almost made up my mind about WPF, when I read this: http://www.riagenic.com/archives/363. He is saying that WPF is dead!
  3. Should I just give up the desktop technologies and focus of web ones instead? It will definitely be easier to deploy, but even in full trust, won't I lose on the OS related advantages which the desktop technologies have?
like image 383
virtualmic Avatar asked Sep 14 '10 09:09

virtualmic


1 Answers

Hmm, tricky question - mainly because there are many available options:

  • Windows Forms
  • WPF
  • Silverlight
  • HTML5 / Asp.Net

Contrary to anyone who tells you "X is dead", all 4 technologies are alive and well. Whats more all of these technologies are different, there isn't a simple prescribed "Use X" answer that anyone can give as each technology is suitable in different situations. The choice of which one to use depends entirely on the specific requirements that you have.

I'll start by going through your requirements one by one:

1. To develop/ deploy on Windows XP/ 7.

Any / all of the above are suitable for use with Windows XP / 7.

2. Easy to use and visually appealing for a not so tech savvy user.

It is perfectly possible to use any of the above to produce easy to use and visually appealing interfaces, however it is worth noting that these technologies are all very different from each other - a HTML5 application will have a very different look and feel (not necessarily better or worse) than say for example a Windows Forms application.

Without knowing more about the specific requirements it is difficult to say more at this point, however you certainly shouldn't eliminate any choices simply on the basis of usability and looks, as other factors (including general polish) will have a much larger impact.

3. Regular reporting of data of a Non Profit Org.

If you have any specific requirements on how the reports be displayed then you might want to look around at the reporting / graphing libraries that are available for each of the above technologies.

Although there are various options for displaying reports + graphs in all 4, you might find that certain choices stand out.

4. Having .NET as the preferable back end.

All of the above are .Net technologies.

Next, lets look at some other considerations you should take into account (in order of priority)

Are you already familiar with one or more of these technologies?

If you already have experience developing web based applications (for example), then unless other requirements rule out a web based app you might want to favour a web based solution.

Decide between a web-based and a Windows based interface.

At this stage you should choose between a web based and a Windows based interface.

I would always choose in favour of a Windows based application (i.e. WPF or Windows Forms) unless there are compelling reasons to favour a web based application, as you are far less restricted in terms of how the UI needs to behave with a Windows application.

Look at the merits of each technology

At this point you should be in a 2 horse race - WPF vs Windows Forms and HTML5 vs Silverlight. Unless you have prior experience you will need to look at the individual merits of each technology (including deployment issues - WPF and Silverlight both require .Net 3.0 or above to be installed on the client) in order to make an informed decision - this may be a good point to look at some simple prototyping.

If the choice is between HTML5 and Silverlight then I'm afraid I can't really help as my experience with Silverlight is limited, however if your choice is between WPF and Windows Forms then my advice would be to choose Windows Forms unless you have a requirement that would be difficult to achieve in Windows Forms, and easy in WPF.

WPF is fantastic at certain things, (such as displaying highly customised grids, or flashy animations), however if you don't need any of those things then Windows Forms is a simpler, more mature and (IMO) easier to understand. Although a Windows Forms application might not have the fancy graphics, in the end it is the polish that determines whether or not an application is truly attractive and easy to use, and in my experience Windows Forms applications are easier to polish.

like image 183
Justin Avatar answered Nov 23 '22 19:11

Justin