Friday, October 28, 2005

Those pesky Gui Designers...

My first introduction to a heavy weight java IDE was JBuilder. I have to admit, I do not remember those days with an fondness.

The application was in a nutshell, a data maintenance gui. I can remember rolling up my sleeves and fighting with the clumsy and just plain irritating gui designer.

Nowadays I have an intense disliking for the concept of automated gui design. I feel that coding it manually is a far more efficient and liberating approach to gui design. As an aside, I did experiment a little with gui design on the SWT API and saw an awful lot of potential there for a gui designer that I might be persuaded to use.

I think my eschewing of gui designers is both because of the lack of control and because I disliked the code that gui designers produced. Which is why a salute Charles Petzold and his article Does Visual Studio Rot the Mind?

He fully endorse everything he says on the subject and highly recommend that you read his words on automated gui design.

I'm also sure all the java programmers out there, will have a quite chuckle to themselves when they read about Microsoft plans with Avalon about how they're going to introduce layout managers (sic).

2 comments:

Trumpi said...

I must say that my opinion differs on this matter. I don't know much about how visual GUI design happens in the Java world, but I think that they have gotten it right in the Microsoft world and it saves me an age of time.

What would be very useful is too pinpoint the specific irritations of visual GUI design and then come up with a solution. Clearly there are many Java developers who agree with you, and it would be great to take Java GUI development into the future.

Peter said...

I think it only gives you the perception of saving time. I will bet that I can code a gui in C# code in roughly the same time as I can design it in Visual Studio (given the use of my layout managers). And the advantages to coding it are manyfold. One of the big ones is being able to dynamically build a form. Another is that it's much easier to get a consistent look and feel in your application. Another plus to using a good layout manager is that you app looks decent in multiple resolutions.

The big problem with visual design in my opinion is the maintenance problem. Let's say you've designed a screen that lets you edit a business object like "Student". You've done this in a few places. Now you need to add a new field to these screens. That means a whole reshuffle of controls in the designer. Well written code to build these screens will be much easier to change.