|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Java Desktop Swing Baby, Yeah!!!
With JVMs being pulled from Internet Explorer, Java's attention moved off the desktop and onto the server
By: Joe Winchester
Jun. 20, 2006 03:30 PM
Back in 1996, Java was originally hailed as a way of making the Web more appealing through applets, and, with its "write one, run anywhere" philosophy, as the holy grail for desktop apps that would be truly cross platform. The truth is that both were oversold at the time. With the combination of low bandwidth Internet connections and early Swing releases not living up to user expectations occurring in the middle of the Microsoft vs. Sun "pure Java" fight that resulted in JVMs being pulled from Internet Explorer, Java's attention moved off the desktop and onto the server.
More intelligent and demanding users are become increasing disillusioned with the poor page-based, latency bound user interface model that the browser-centric world delivers. To a large extent all of the AJAX hype being whipped up at the moment is a recognition of this fact, although what it's actually doing is elevating the discussion to be one of "how do we deliver rich content" rather than bun fights over "HTML rocks, Swing sucks, baa." At JavaOne's opening keynote this year, the absolute highlight for me that showed how far Swing has come was a demo of an application that used Web services APIs from flickr.com and maps.google.com, popular and high-content Web sites in their own rights, and trumped both sites with a beautiful Swing program. Romain Guy, one of the Swing engineers who'd written the program, used it to navigate his photo album pictures from flickr, using 3D smooth animation, reflection techniques, and beautiful user interface effects that fully demonstrated the power of desktop applications. The program then picked up Google maps data to show the route Romain had taken during a recent road trip that merged with photos he'd taken on the way. The power of this message was simple: the desktop can be used to integrate back-end data that is available on the Web (through Web services) and create a user interface experience that is richer than anything the Web could offer and truly puts the user back in control. It was beautiful to watch, and ironically reminded me of how Flash developers used to show off how they could make the Web experience better, except the Swing demo was an order of magnitude higher than anything Web 2.0 could possibly hope to offer. It also struck a chord with the idea that while all the server guys are focusing on SOA and ways for back ends to publish their data and re-usable services, it's now open season again as to what the user interface is going to be. Swing is totally there now: mature, fixed, better, and 100% ready to step up to the challenge. Leaving bombast aside, technology never wins because it's better. The battleground in traction is largely based on perception, ideas, and adoption by the community. What's encouraging about Swing is that it is doing well on all three fronts. In a recent Evans Data survey of Java development trends, developers were asked where they spent most of their time building apps. Forty-one percent said they wrote desktop apps, 37% J2EE, 4% Java on mobile devices, while the remainder apparently didn't know what they do at work each day As for the future, when questioned about which Mustang features people were most looking forward to, over 60% answered that they're turned on by the Desktop Java enhancements. The community around Desktop Java has really grown over the past few years and Mustang is now reaping some of this crop. SwingLabs (http://swinglabs.org/index.jsp) is an umbrella for an open source laboratory of projects whose common goal is to make Swing easier to write, faster, and better and to rally around Desktop Java. It's crop includes the timing framework being showcased at JavaOne, a very crisp and elegant API to do animation effects. SwingX has reaped the cool visual effects like drop shadow borders and custom highlighting that powered the JavaOne keynote demo. In addition to these and other fabulous improvements to Swing on the glass, there is also recognition that serious Desktop Java projects have to wrestle many other types of animal to the ground as well. The Data Binding project is looking at taking away the pain involved when binding Swing GUIs to back-end data sources. The Application Framework project is looking at the life cycle surrounding desktop. This is all good stuff. One of the features Swing used to always get beaten up about was that it's an emulated widget toolkit and, as such, has to fake out in low-level Java 2D drawing code what the actual native widgets look like. Even though 1.4.1 improved this over previous releases, the arrow didn't quite hit the bulls-eye. Thankfully though this looks like it's now got closure as Mustang is going to use native APIs on Windows and GTK to find out how exactly, pixel perfect, each OS's widgets are being rendered. No more Swing versus SWT fights on newsgroups, phew. Swing is really coming back hard with some great new features and for me was definitely the star of JavaOne. I talked to many other people who were also impressed with what they saw and are now seriously considering revisiting it. Web 2.0 hysteria is turning the focus of IT away from server-implementation technologies and back onto the user interface experience. When the guy next to you steps up to home plate clutching his JavaScript for Dummies book, let's hear it for the desktop: "Swing AJAX developer swing, swing AJAX developer swing." Reader Feedback: Page 1 of 1
Your Feedback
SOA World Latest Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||