i blame computer science
Geek
The reason we have so many cross-platform GUI toolkits out there (Swing, SWT, XUL, GTK, etc) is because of people who are taught computer science at university. They either do not integrate well on any platform at all (Swing) or only integrate well on their native/majority platform (SWT, XUL, GTK) and what's worse, people are writing cross platform applications with them.
Inevitably, computer science students are taught design patterns, specifically the Factory pattern, for which the canonical example to use is GUI toolkits - each toolkit implements some generic interfaces and we use factories to construct specific instances of these classes. The idea being of course that the application does not care if you get a Motif or a GTK implementation of a window, or a scrollbar, or whatever.
While this pattern can be quite useful, I can only assume students are taking home the wrong message - not that the Factory pattern is useful, but that cross-platform GUI toolkits are somehow a useful or even a good thing. Here is a hint: they're not! Sure, you can make one program work cross-platform, but you need to take into account the differences with the platform as well.
(I'm writing this in an Event Driven Computing lecture. We are hearing about the Factory pattern. I can feel 60-odd ideas for new cross-platform GUI toolkits forming in young, impressionable minds... eeek!)
Comments
When all you have is a hammer...
Posted by: Joel on September 1, 2005 01:13 AM
Hit the user with it?
Posted by: Mike on September 3, 2005 04:21 PM
In general, yes. Beats the hell out of supporting your software.
Posted by: Joel on September 5, 2005 04:11 AM
Add a Comment