Could you cut your development time in half?
Application frameworks are supposed to save you time and effort. That's probably true for most frameworks after you slog through the complex APIs, tutorials, docs, forums, a few just-in-time courses, and maybe even a couple nightmarish starts and stops to your project due to nothing other than the framework itself. I remember working with a big, overwhelming framework back in 1998...a long time ago, and I'm just now recovering. In 1999, the project was abandoned, and the entire team was disbanded. I like to blame it on the framework...and management. You have to take a shot at management whenever you can. It was a bad experience whatever the cause, but that huge, monolithic framework factored in heavily I think. We didn't save time or effort, and almost two years of development time were just wasted. What a fiasco that was!
So, with just a little trepidation, I started to research the Swing Application Framework (JSR 296). I've already declared it an "unframework", trying to be a little silly but also trying to give a compliment too. So far, and let's hope the trend continues, the Swing Application Framework is small and easy to grasp. It provides some basic, skeletal best practices for organizing your application code. And it stops there, long before it gets overwhelming.
I think Hans Muller said someone could understand it in an hour. He's pushing the limits a little, but he's a genius too, so we can forgive him for being optimistic. Realistically, give yourself a couple hours, maybe three if you like to do a little experimenting with code too. I do. I'm basically saying that you can understand everything about this framework after a couple long lunch breaks.
To help you cut those three hours back down to just 2, I've summarized everything I've learned about the framework. I've provided a couple blog entries on the subject, but I've gone off and created a complete article about the framework too. After working so hard on the article itself, my brain just stopped working. So, I skimped a little on the article title. Lacking imagination at the last moment, I've called this article Using the Swing Application Framework. Geez, you'd think I could have come up with something a little snappier!
Could you really cut your development time in half if you adopt the Swing Application Framework? Uh...maybe. Hmm...ok, I give. I don't really know. However, I'm absolutely sure you'll save some time. The investment will be worth it, especially if you have new developers on the project. Why? Well, because new Swing developers don't always know how to set up an application, how to interact with Swing components on the event dispatch thread, how to use Actions and event handlers, or how to properly set up resources for localization, etc. This framework packages up some of these basics quite nicely, making it relatively easy to start a project correctly. Finish in half the time? Maybe not. Your mileage may vary, etc. I'm being a little dramatic with the blog title -- perhaps to make up for the boring article title, but I do know that the Swing Application Framework will help you structure your app correctly and help you adopt some best practices for handling some very common Swing application tasks. That's worth quite a lot in itself.