"Well, Swing took a bit of a beating this week..."

One unique aspect of the NetBeans community presence at JavaOne 2012 was its usage of large panels to highlight and discuss various aspects (e.g., Java EE, JavaFX, etc) of NetBeans IDE usage and tools. For example, here's a pic of one of the panels, taken by Markus Eisele:

Above you see me, Sean Comerford from ESPN.com, Gerrick Bivins from Halliburton, Angelo D'Agnano and Ioannis Kostaras from the NATO Programming Center, and Çağatay Çivici from PrimeFaces. (And Tinu Awopetu was also on the panel but not in the picture!)

On one of those panels a remark was made which has kind of stuck with me. Henry Arousell, a member of the "NetBeans Platform Discussion Panel", who works on accounting software in Sweden, together with Thomas Boqvist, who was also at JavaOne, said, a bit despondently, I thought, the following words at the start of the demo of his very professional looking accounting software: "Well, Swing took a bit of a beating this week..."

That remark comes in the light of several JavaFX sessions held at JavaOne, together with many sessions from the web and mobile worlds making the argument that the browser, tablet, and mobile platforms are the future of all applications everywhere. However, then I had another look at the list of Duke's Choice Award winners:


OK, there are 10 winners of the Duke's Choice Award this year. Three of them (JDuchess, London Java Community, Student Nokia Developer Group) are not awards for software, but for people or groups. So, that leaves seven awards. Three of them (Hadoop, Jelastic, and Parleys) are, in one way or another, some kind of web-oriented solution, though both Hadoop and Jelastic are broader than that, but are service-oriented solutions, relating to cloud technologies.

That leaves four others: NATO air defense software, Liquid Robotics software, AgroSense software, and UNHCR Refugee Registration software. All these are, on the software level, Java desktop solutions that, on the UI layer, make use of Java Swing, together with LuciadMaps (NATO), GeoToolkit (AgroSense), and WorldWind (Liquid Robotics). (And, it went even further than that, i.e., this is not passive usage of Swing but active and motivated: Timon Veenstra, during his AgroSense demo, said "There are far more Swing applications out there than we seem to think. Web developers just make more noise." And, during his Liquid Robotics demo, James Gosling said: "Not everything can be done in HTML.")

Seems to me that Java Swing was the enabler of more Duke's Choice Award winners this year than any other UI-oriented Java technology. Now, I'm not going to interpret that one way or another, since I've noticed that interpretations of facts tend to validate some underlying agenda. Take any fact anywhere and you can interpret it to prove whatever opinion you're already holding to be true.

Therefore, no interpretation from me. Simply stating the fact that Swing, far from taking a beating during JavaOne 2012, was a more significant user interface enabler of Duke's Choice Award winners than any other Java user interface technology. That's not an interpretation, but a fact.


I don't anticipate the day will come that businesses will be doing their accounting on cell phones or tablets. I'm not at all convinced the day of the desktop is over, either. I know one thing for sure: I'm not doing my daily work on any mobile platform. Do I use it to get email? Of course. Do I use it for maps in an unknown area? Of course. But email and maps != work. And I do most of my email on my desktop too along with ALL my development.

I like my smart phone but you'll pry my desktop out of my cold, dead fingers! Swing is awesome and the platform is becoming more usable all the time.

Posted by Chuck Davis on October 10, 2012 at 06:27 PM PDT #

Desktop software is desktop software and always will be.
RIAs are à la mode but, as I said, desktop software is desktop software.

Swing is *great* for UIs, it has *much* more potential than browser-contained stuff.

JavaFX 2.X is cool too, for levels the distinction, by writing once, and having your UI both for desktop clients and web-based access. Now if only it was supported on smartphones and tablets...

Posted by guest on October 11, 2012 at 06:13 AM PDT #

Swing will not die any time soon. This is akin to the Windows 8 vs. Windows 7 debacle.

Trying to change how people interact with applications is a risky move. Swing vs. SWT vs. JavaFX is no different.

Imagine what would have happened if our internal app was made into a mobile or a web app. That would have introduced grave security concerns.

Because of the complexity of said app, productivity would drop like a rock if put into a mobile or web format.

While I like the idea of JavaFX, its reliance on native libraries is a bit of a turn off. That being said, it's gotten easier to integrate FX into NetBeans applications.

Posted by Derek Witt on October 11, 2012 at 07:25 AM PDT #

Good discussion.
Since none of the app stores except one support java and that one only java 1.6 seems JavaFX is a api with very few places to go right now. Most companies are just getting to java 1.6 for the desktop so that limits JavaFX also. Since mobile devices do not support java very well and only parts of swing again JavaFX is not used widely.
I supply java apps via a app store and web start and see mostly 1.6 being used and very very little java 1.7. So again an indicator 1.7 and JavaFX may take anoth year or two to see more usage.


Posted by guest on October 11, 2012 at 08:47 PM PDT #

Swing will always be alive in Java until JavaFX can do everything Swing does and more

Posted by mark stephens on October 12, 2012 at 04:04 AM PDT #

I agree with "...Web developers just make more noise."

We have an enterprise -Java swing desktop- application running very well for years on windows and macs. And we keep adding new functions to it. These days we are planning to switch Linux clients. Our App is already running on Linux as well without changing anything. One Application works on all desktop platforms.

Time to time we have been checking the new technologies but nothing came up better than Swing yet.

Posted by Mithat on October 12, 2012 at 09:59 AM PDT #

A bit away from the blog but I might add this perspective very prevalent:-

Its not the question as to what works. The question is what will be the future.
2 aspects of information age that are making history:-
1) Intelligence on the data/universally i.e. across data sources
2) Presentation of this data.

My prediction - the app layer would become so thin and non existence. There will be just ONE way to present the data. Someone will simply use some "Super-Customizing-Tool" that even non technical people would produce the GUI that they like. Only the data services and the data semantic will be exposed and you do your own thing. I would like to live that time and be a part of it.

The trend is towards web. Sorry but this is coming from a me working more than 16 years in Java.

Posted by guest on April 04, 2013 at 09:50 AM PDT #

Indeed, the trend is definitely towards web. But the display of the data found in the web is towards whatever the user needs -- some users need to work with data in a handheld device, some users need to work with data in a browser, some users need to work with data on the desktop, etc. But, indeed, all the data comes from the web.

Posted by Geertjan on April 04, 2013 at 10:41 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed

Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.


« July 2016