The Ability To Swing
Has Matisse succeeded or failed?
Not to beat a dead horse, but the discussion that has been moving around the Java community about using GUI-building tools versus writing your GUI's by hand continues to generate new opinions, anecdotal recommendations and warnings, and a fair amount of controversy.
Over on JavaLobby, Michael Urban has touched off an intense debate by asking the open question, Has Matisse Really Changed Anything? A one-time supporter of Matisse, he found he's using it less than he would have expected. His reasons include the following:
I think I actually find it faster to code by hand using a good layout manager, than I do working in a GUI visual designer where I have to drag and drop components using the mouse, size them, edit property text fields, etc. The visual designer breaks my flow I think, where as just writing code maintains my flow.
I generally find hand written code easier to maintain, since I am much more familiar with the code than if it is magically written by a GUI visual designer. It's also easier to debug IMHO. Since although Matisse for example, scores great on rapidly mocking up a GUI. It doesn't score nearly so well on the human readability scale.
Finally, yes, I'm sure some of it is just because hand coding is what I know and am familiar with. Until relatively recently most GUI visual designers seemed to be quite buggy. Combine that with the fact that you still had to coerce components into layout managers anyway, it was just easier to do it by hand. Yes, Matisse changes that. But again, at the expense of human readability of code.
It can be faster to write with your own layout manager? I don't know... I used Matisse for the first time on my Glossitope desklet, and for putting together a simple GUI with specific positioning and a few static images (e.g., images loaded from inside the desklet JAR and put into
ImageIcons), Matisse was extremely efficient. The usual counter-argument is that tool-built GUI's sacrifice flexibility or maintainability; you usually don't hear people claiming it's slower to use a tool. There's also the question of approachabillity: Michael's an accomplished, long-time Swing developer. But not everybody is or has time to become one... if a tool unblocks more Swing development, isn't that a good thing? What do you think?
Also in Java Today,
Vladimir Sizikov has an update on What's new in ME Framework 1.2. "We (the ME Framework team) are getting closer and closer to the release date of ME Framework 1.2, and I thought that it would be useful to provide a high-level list of most important changes, improvementns and new features that we implemented in this upcoming release." His list includes a new Text Export feature, a "Debug Agent", a major Distributed Test Framework update, and more.
The latest issue of the JavaTools Community newsletter has been posted, with tool news from around the web, announcements of new community projects and one graduation from the community's incubator (Jarvis), and a "Tool Tip" on enabling GZIP compression on Apache.