

Ask HN: How do you write Windows desktop software these days? - jhack

I have an idea for app but instead of going the mobile route I've been thinking of making it for the good ol' Windows desktop.  The problem is, I'm a couple of years removed from desktop development and things look kind of cluttered to me right now.  You have .NET, WPF, and even win32 and MFC are still around (sort of).  Then you have all these third-part toolkits like Qt and bindings for other languages and runtimes like PySide and wxPython.<p>I guess the short version of my question is: For a commercial Windows desktop application, where do you turn to get it done?
======
brudgers
When committing long term to Windows Desktop development, why would one choose
the learning curve of a framework outside the Microsoft toolchain? It seems to
me that choosing a multiplatform tool chain for Windows development is
somewhat likely to be premature optimization (most things be equal).

I'd add that unless there is a compelling set of legacy code, win32 and MFC
are not really serious options to .NET.

On the other hand, forms is an option to WFC for a minimum viable product -
but not once UX design rises in importance. Early on, I would say that WFC v.
Forms is purely down to investment in the learning curve.

------
Donito
If your application doesn't have special requirements (e.g. heavy
computations, graphics, etc..) then using C# + WPF (or Winforms) is very
efficient in the sense that you can get a lot done quickly. Visual Studio is a
great IDE, MSDN documentation is not bad, and because a lot of people use
those technologies then whenever you hit an issue it's pretty quick to find
someone who had the same one and solved it (e.g. on StackOverflow).

------
countessa
If you are planning on deploying to the Microsoft stack then use the Microsoft
toolset - .NET, Visual Studio, c#.

Winforms is pretty easy to pick up and the workflow between visual designer
and hooking up to events is good. Double click on a button in the visual
winforms designer and it puts you in the method in the code....something I
wish Interface Builder would do :).

I've no experience with WFC, but as others have pointed out, it seems to be
the way to go for good looking apps.

------
ebrink
You know, a lot of people give .NET a lot of scuff for being a bloated
language (insert 15 other insults here) but it really CAN work well for
applications in a professional environment. But then again it is always about
what computer language you know the best.

That being said I also think Delphi is another great alternative! I personally
have never used it but I have seen a lot of applications that I admire admit
to using it for development.

------
qas1981
I'm a Microsoft developer. I'd suggest using the .NET framework with WPF or
Winforms for the speed of development. Plus there are tons of examples and
tutorials to help you along the way. Also hands down Visual Studio is one of
the best IDE's available. (no flames please)

------
turbojerry
For fast development I'd suggest Python and PySide or wxPython if there are
some numerical parts that need to be fast use NumPy, SciPy and the PyPy
interpreter instead of the regular Python interpreter.

------
tsurantino
For a commercial application, you use .NET with either Winforms, or if you are
looking for something more flexible & sophisticated, WPF.

------
umenline
Qt , the best

~~~
mb_72
... not when you check the price of a commercial licence.

edit: found the email I was sent when asking Digia. 2995 EUR Windows Desktop
only for a single developer, 4195 EUR for multiple o/s development; includes
12 months email support and maintenance upgrades.

