I am writing a fat client application that I would ideally like to be cross-platform, but may settle for Windows-only based on the following:
- I am much stronger in C# than Java (though I have a few years Enterprise Java experience)
- I haven’t done much with either Windows Forms or Java Swing, just toy apps for each, though
I’m more comfortable in Windows
Forms than Swing - I am concerned about the performance of Swing applications (vs. Windows Forms), but I’m
wondering if things have improved in the last couple years - I am completely open to developing in either platform…no MS or Java snobbery here. In fact, if you want to tell me to do it in Qt, wxWidgets, or something else, I’ll listen!
If any of you switched from Windows Forms to Swing, what were the biggest hurdles?
Was the initial appeal of being cross-platform worth it in the end, or would a faster, less flexible Windows-only app have been better?
If you use Java Swing, which IDE do you prefer for drag/drop form layout?
I develop a complex low latency GUI in a bank using the Netbeans RCP platform. There are a lot of people using Netbeans. I also work with WinForm devs too.
The WinForm guys have some extremely rich and high performance/low footprint grids and widgets, especially commercial offerings such as Infragistics. Netbeans apps can have large resource footprints so it really needs to be something your customer is spending most of his computing resources on.
If it needs to be lean and interface rich or fast then Winforms is the way to go.
If you want a large library of APIs to build out and maintain a large complex GUI codebase and have the freedom of a completely portable tech stack I would choose Java everytime.
Having said that, Netbeans IDE is appalling! You would do well to visit Geertjan’s blog if you go for it.
Check-in your code regularly to a branch when using the Matisse Graphics editor, it often goes nuts and trashes your layouts and fails to undo. The underlying RCP platform dependancy handling -if it gets you in a twist – can be challenging, but still better than OSGi!
Good luck, GUI development isn’t as easy as people say!