Java – What language / platform would you use for a shareware / freeware desktop application

cdesktop applicationjavaqtwpf

I have a DVD cataloging application that I wrote a few years ago with MFC. Records are saved in a sqlite database, so basically it's a CRUD app. UI-wise, it has a tree view on the left, a list view (grid) on the top right, and an HTML view (embedded IE) on the bottom right. Nothing fancy.

I wanted to update the app with more features, but I've been using Java EE for the past couple of years and I realized that I wasn't productive at all with MFC. So I'm thinking maybe I should use something else to boost my productivity. Cross-platform would be a big bonus, but it's not absolutely required.

Here are the options based on my research:

  • Java / Swing: I can utilize my Java knowledge; great third party libraries (such as Spring for IoC and Hibernate for ORM); cross-platform. Downside is, JRE required for users; Swing seems to be in the "maintanence" mode and it's not getting much attention from Sun.
  • C++ / Qt: native application;
    cross-platform. But I'm new to Qt so
    I have to learn it first.
  • C# / WPF: WPF seems to be the future
    of Windows GUI development and I'm
    impressed by some WPF sample apps. I
    have some experience with C# but I
    need learn WPF. Downside is, Windows
    only; .NET 3.5 runtime required.

So what would you use if you were in my situation? Thanks in advance for any suggestions.

Best Answer

If you want to learn some new skills while developing this application, then C# / WPF, and LINQ in C# 3.0 is really great if you didn't have it in Java.

If you just want to get on speed, then you already answer your own question, Java / Swing. It is what you are good at.

Related Topic