Hawaiʻi's Technology Community

I've invested years of my life in Swing development, so its a little scary to even pose the question, "Is Swing Dead?" Bank of America, our largest customer, used to do a significant amount of Swing development. These days all new projects are using WinForms, WPF, or Flex. All of these technologies are very good, and have big marketing bucks behind them (Microsoft and Adobe respectively.) With Sun gasping for air and IBM backing a competing toolkit, what will happen to Swing?

Swing benefits from elegant design, incredible flexibility and maturity, but is this enough? In addition to the lack of strong marketing support, the tools available for WYSIWYG Swing authoring lag behind Microsofts. The Java world doesn't really have an answer to Expression + VisualStudio 8. Netbeans, Eclipse and IDEA all have visual designers but they are not nearly as powerful or easy to use.

Finally, after a long period of leading the pack in terms of UI technology, Swing has now fallen behind Microsoft in keys areas. One such area is resolution independence, which WPF supports through-and-through. Another is robust data binding.

Don't get me wrong - I hope Swing has a long and glorious future. That being said, I am hedging my bets by keeping up on competing technology.

Views: 153


You need to be a member of TechHui to add comments!

Join TechHui

Comment by Daniel Leuck on February 9, 2008 at 8:14pm
(cross posted from the forums)

I received quite a bit of email about this post, some of it not very flattering :-) Although I won't apologize for the question, I do want to clarify that I hope the answer is "no". Although I really enjoy working with Flex and WPF, Swing is still my favorite toolkit. Today's Swing is fast, pretty and fun.

There are a lot of things I wish Sun had done differently. Some of these errors could still be correct. Here are a few of my gripes:
- Sun should have invested in developing a best of breed L&F implementation prior to, or at least shortly after Swing's introduction. A brilliant GUI architecture can be obscured by an ugly veneer. Swing apps didn't start to look good until developers like Chet Haase and Romain Guy entered the picture. Swing still has a reputation for being ugly and slow, which is really sad because neither criticism has been true for a number of years. Sun could fix all this overnight by buying a company like Incors or by providing official support for the Nimbus project.
- Swing components are very granular, modular and flexible, which is great, but it also makes it hard for a typical programmer to put the right pieces together to produce a working application. Sun should buy a company like Jidesoft that provides a set of feature rich ready-to-go components to speed development.
- New Swing developers always struggle with how to structure their applications. The Swing Application Framework has been far too long coming. Note: I think Hans Muller is doing a great job with the current spec.
- The lack of a good browser component has always been a problem for Swing developers. Finally a small company from Tasmania solved the problem. Sun should buy them tomorrow!
- Sun should eat their own dog food. Why don't we have a pure Swing Java desktop?

IBM also shares blame for Swing's lack of prevalence. SWT contributes greatly to confusion in the Java desktop market. I've always contended that there was never a good reason for SWT. JetBrains IDEA proved you can build a fast and feature rich IDE in pure Swing. IBM should have worked with Sun to improve Swing rather than splitting the community. Eclipse is a brilliant project. It would be even better in Swing!
Comment by Garth Henderson on December 15, 2007 at 12:03pm
Thanks. Recently, BEA visited Century and I had a chance to take a look at the current offerings. We were using BEA at CheapTickets in 2001-2002.

MS WF seems to be far ahead of any of the competition based on my experience and continual research. Century is using WF. WF drives the user interaction. Each WF step can bring up a unique set of GUI componenents. The scope of my environment is the full enterprise and multi-company extranet. Therefore, I am always interested in a matched set of componets. My goal is to hui on a business environment frameword that is vendor-agnostic so that any number of solutions can play well together.
Comment by Daniel Leuck on December 11, 2007 at 9:04am
There are dozens of open source projects out there, but I don't think any of them are quite as slick as WF (support for drag and drop in VisualStudio, etc.) I've heard BEA's AquaLogic workflow tools are good, but I haven't tried them myself. Most of the application server vendors (IBM, BEA, etc.) provide workflow tools. If you google Java BPEL, you will get an idea of the landscape.
Comment by Garth Henderson on December 11, 2007 at 6:35am
Thanks, I'll look into the JSR-296. Is there anything in the open Java world that compares to Windows Workflow Foundation?
Comment by Daniel Leuck on December 9, 2007 at 10:43am
Hey Garth, It's good to hear from you.

If you need a cross platform desktop toolkit I would probably still go with Swing, and use one of the RCP frameworks such as NetBeans RCP or the new application framework specified by JSR-296.

Flex also meets all your criteria except "trained programmers". I assume you mean an experienced and readily available talent pool? Flex is in very high demand right now. There is a lot of competition for good developers that know the technology.

If you are targeting a Windows only environment then WPF is the way to go.
Comment by Garth Henderson on December 9, 2007 at 10:06am
Hey Dan, within the context of business applications, what specific technologies would you "package" together to develop business applications in? This question is related to the UI as the UI is the core.

Important factors are ubiquitous technology, open standards, scalability, stability, rapid development, trained programmers, and robust functionality.


web design, web development, localization

© 2024   Created by Daniel Leuck.   Powered by

Badges  |  Report an Issue  |  Terms of Service