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:
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?
However, WinForms still has some role to play. If you want to develop an application without much of added modern functionality in WPF, then you can always choose to go for a platform which is developer-approved and time-tested.
In short, Swing and JavaFX are both GUI toolkits for Java programs. Swing is the old standard toolkit that features a bigger library of GUI elements and mature IDE support. JavaFX is the newer standard with a smaller library, more consistent updates, and consistent MVC support.
As we mentioned above, WinForms is still available but the status of “maintenance mode” likely means it has no long term future. As time passed by, especially in the last 5-10 years, new tools continued to mature and rise in popularity, and each one of them offered many powerful features.
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!
It looks like what you want to hear is: "Don't use swing keep with Winforms" so here it goes: Don't use swing. If you feel more comfortable with C# I think that's the only reason you need to go for it.
Swing apps are fast and the whole platform is good enough, but it definitely needs some time to learn it.
If you decide to give it a try, I'll suggest either Netbeas or IntellJ Idea, both have great GUI builders.
But really, just keep with C#
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With