views:

102

answers:

4

Hey everyone,

I have a small project that I will be working on shortly that collects employees time and what project the person was working on. Pretty straight forward. I was orginally going to work on it in WinForms but since im new to that I though maybe using Silverlight for the application since I will have a learning curve for each. Here is a couple of business requirements that i need to incorporate into the application.

-System will use an Access database hosted on a particular persons computer. -Ability to generate and print reports -Installed on the emploees desktop who will have access.

Would one technology be recommended over the other in terms of what I need to do. Here is a screen mockup of one of the pages I will need to create.

http://is.gd/tH2A

+3  A: 

If you want access to the machine on which the application will run (e.g. to access a database, and to use printing), that pretty much rules out Silverlight, without jumping through a lot of hoops (e.g. having to install something on the user's machine anyway).

You say that WinForms will require a learning curve for you - well you might as well use WPF then, as it's a similar technology from the UI perspective as Silverlight. However, you can proably find a lot more resources online for WinForms though, and it's likely you'd be more productive in WinForms given its strong Visual Studio designer support.

Deployment with WinForms or WPF should be fairly easy with ClickOnce.

Craig Shearer
Wondertwin powers activate!
MusiGenesis
Disagree about WinForms meaning greater productivity. WPF+XAML is far more flexible, powerful and coherently implemented. True, there are fewer resources; but since many WinForms resources are there to solve problems that WPF obviates, I don't consider that a mark against the latter.
Ben M
+2  A: 

Since it's a local (desktop) app which needs to access a local resource (Access database), it's probably better to do winforms.

However, you might be better off doing this as WPF instead - it's more current than winforms.

MusiGenesis
You get my up vote, but only because you mentioned WPF at the end. *Nobody* should be writing WinForms apps in 2009!
James Cadd
@James: thank you, but I wouldn't go that far. There are legitimate reasons to continue using winforms (like me), including: much greater familiarity (for me), code-compatibility between Windows and Windows Mobile, and the fact that my application is completely owner-drawn already. However, you're nearly correct in that nobody should begin learning winforms in 2009.
MusiGenesis
A: 

Winforms and WPF are easier than Silverlight when you have to access a database because you can do it directly. If your install base uses only .net 2.0 then stick with WinForms, if you know they can install .NET 3.5 then try out WPF. Just be warned, there is more to learn with WPF and XAML but it's very rewarding especially if you want to get fancy.

Paully
A: 

Silverlight 3 lets your application to run on desktop as well. So I'd write it on silverlight. Yet another technology to master.

Sorantis
This won't provide easy interaction with Access or printing reports, unfortunately.
Jeff Wilcox