3

I have not created Windows forms applications (using C# and .NET) since 2005 so I am not sure if it is still a good option for rich client applications. Also I do not know if there is any (comparatively) new framework for building Windows apps other than Composite Application Block.

We have a small team (3 people) in our company who manage the content (e.g. musics, mobile games etc) and I want to build a tool for them. Since there are only a few people who will use this tool I am thinking of creating a Windows app so that rather than spending time and effort on creating a rich Web UI (e.g. using ajax, jquery etc) I focus on the business logic.

I understand that WPF is another option but from my knowledge it is a bit more complicated and time consuming to build an app using WPF.

If Windows forms is my best option, is there any fairly new framework for building Windows apps? 10 years ago I used to use Microsoft's composite application block but it seems to me that it's something for the past!

Aref
  • 1,600
  • 3
  • 19
  • 39
  • Asking for opinions is off-topic, however, given the requirements, the scope of the proposed application and the knowledge of the tools, I will support the choice of WinForms. It would be different if you plan to sell the app and in that case better to spend your time to learn WPF – Steve May 07 '15 at 22:50
  • This is opinion-based, so here are my opinions: First, if you can afford it, there are lots of WinForms-based third-party packages with fantastic controls. I can recommend Developer Express. Second, I've heard (but can't confirm from personal experience) that in a system where the screen is being sent over the network (Terminal Server, Citrix, etc.) that WinForms is faster than WPF. – RenniePet May 08 '15 at 01:56
  • Last time I checked 15+ % of all new projects in the last couple of months were created in WPF. Not sure about the rest but I'd estimate 60-70% of them beiing Winforms. So, yes, it certainly __is__ an option. – TaW May 08 '15 at 20:27

1 Answers1

2

Building an app using WPF is a bit double edged. It's extremely quick for building something simple, hence why so many tutorials can cover specific behaviours without being gigantic. It's excellent for having automatic layouts, and being able to build said layouts in XAML will feel a thousand times better than setting up alignments in forms, especially if you've done web development. However, deviating from the beaten path (smooth datatypes, good-or-error validation, hardcoded database fields...) will leave you with a steep learning curve, as I find digging around the guts of WPF to be a nightmare.

Note that there are also a number of options available for Mono, most of which also work on Windows without indcident.

EDIT: Since I'm still getting upvotes on this answer, apparently, I'll add that it doesn't seem mono is maintaining the attached page, and the only framework from the above list which appears to have ongoing support is Xwt.

David
  • 9,863
  • 1
  • 23
  • 39