Transitioning from the Swing Application Framework (JSR 296)
Asked Answered
A

3

6

A few years ago JSR 296 introduced a framework to create desktop applications in Swing. NetBeans provided tight integration with the reference implementation. I drank the Kool-Aid(r) and created a number of programs from simple single panel statistical calculators to large multi-window, multi-pane data analysis and simulation programs.

The JSR has since been largely abandoned and the next version of NetBeans (7.1) will no longer include support for it. I'm looking for advice on how to transition this group of existing applications to a new framework.

There seem to be several possible choices, including:

And there are others.

Does anyone have experience transitioning from JSR 296 to one of these alternatives? I'd really rather not go through the learning curve on all of these if someone else has tried it before.

Besides just moving the project, can anyone relate their experience in maintaining an unbroken version control history during the transition? How about moving the help system? Did that work well?

Thanks for any advice you can provide.

Alfonsoalfonzo answered 6/12, 2011 at 19:37 Comment(7)
I faced that same problem 2 years ago. Tryed Eclipse RCP, cool framework but didn't convinced me. So, i went deep into web apps. I think you should take a look that way.Coupe
Another option to consider is Spring RCPBoatsman
I'm curious, what does netbeans do now that you can't live without as far as JSR-296 is concerned? You may have to add libraries, but you still ought to be able to compile it. Matisse should still work. Or is it the fact that netbeans is finally dropping support for it that is the last straw?Barbur
@santiagobasulto: Yup, web apps are a good option these days with all the capability being added with HTML5 and CSS3. I've avoided them because of the validation requirements of the highly regulated industry in which I typically work. (Which browsers has this been validated with? Which versions of those browsers? What does the app do when accessed by an unanticipated browser? Etc.)Alfonsoalfonzo
@Shakedown: Thanks for the pointer. It looked like Spring RCP had been abandoned until your comment caused me to look at the forum again. I'll wait and see what their "new direction" is.Alfonsoalfonzo
@Bill: You're right. You can still use the libraries, but they're no longer under development -- no bug fixes, no expanded capabilities. That's why BSAF is an attractive option -- they are continuing development essentially where the work left off on the JSR. It's just a bit more tedium to start new projects from scratch without the IDE support.Alfonsoalfonzo
Keep an old version of netbeans around for that. ;-) Seriously though, the future of JVM desktop is JavaFX, and the future isn't quite here yet. I believe that Oracle is more likely to see it through than Sun ever would have been.Barbur
W
2

BSAF is actively developed, so I wouldn't (and actually don't, have used the fork right from its birth as the original wasn't maintained at all since then :) see any reason at all to not go on using it.

Wilma answered 7/12, 2011 at 8:41 Comment(0)
M
0

I would make a slightly more drastic suggestion, drop Swing although. Transitioning to anything else will be non-trivial, given you're in Java I'd just move to GWT. Given Oracle is only interested in enterprise Java and they are a tightly commercially focused company, it would certainly follow that Swing would go the same way. We moved to JavaScript directly from Swing about 5-6 years, the move in that direction has become very strong in the past 12-18 months.

Mullane answered 6/12, 2011 at 21:57 Comment(3)
I like your thinking. But I wonder if GWT (or ZK, whatever) can handle highly interactive apps. (I have near zero experience with GWT and ZK) For example, my apps show a lot of data, typically a scatterplot or histogram, and the user is drawing rectangles or polygons to select subsets of the data. Would GWT handle this is a reasonably fast way? Do you know of some demo code (or a functioning website) that does something similar? Thanks!Hamrick
My personal experience is with JavaScript directly. There are a lot of JS libraries that have popped up to provide common functionality. Highsoft charts, out of memory, highcharts.com/demo/scatter, do scatterplots. There's a fair selection of libraries for GWT, in the same areas. GWT translates to actual JavaScript that is run, so technically GWT and native JS should be similar speeds for interaction. People tend to be somewhat scared on writing native JS, but I strongly recommend trying it for a few weeks, it isn't that bad. You end up with far better control of your application.Mullane
Comparing GWT to Swing is like comparing Notepad to Word. If you need a web solution then GWT is great, but you can only produce much more limited applications.Spodumene
P
0

It is still possible to develop with (B)SAF in NetBeans 7.2 if you want to. As of this writing the integration needs an owner. See: http://netbeans.org/bugzilla/show_bug.cgi?id=204661#c59

Patriapatriarch answered 6/8, 2012 at 13:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.