OK.. I am sorry for asking an often asked question once again, but I AM CONFUSED!
First my requirements.
Now my issues.
Hmm, tricky question - mainly because there are many available options:
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.
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