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.