From: Sean Russell Date: 2002-01-23T01:52:13+09:00 Subject: Re: [OT & long] Re: GUI APIs michael libby wrote: > Please save the Micros~1 bashing for when it's important. They didn't > invent parasitism, apathy, copyrights, or selling stuff. Hah! While I'm an avid ABMer, this is so very, very true. You are right: Windows, and Windows users, didn't invent parasitism. Rather, you could argue, that parasitism was the norm, Linux popularized the Gift culture. Back in my Amiga days, the most popular form of software distribution(?) was not OpenSource, or FreeWare, but ShareWare. ShareWare was a direct attempt for developers to make some sort of profit; there wasn't the critical mass, as there is in the Linux community, where you can afford to develop free software because you don't have to pay for most of the software you use. As pertains to Ruby, we're lucky that it originated in the Gift culture. Windows users can be thankful that I'm a Linux user, because REXML is free, and OpenSource. It wouldn't be, otherwise; I wouldn't be able to afford a Windows habit, writing free software. > So as soon as someone writes an API to a Unix toolkit that looks and feels > the same to calling programs as that of the Windows API, there will be no > need to argue further. All developers seeking cross-platform-ability can > use that API, no matter how pathetic it may be. And if that API could > drive gtk+, Qt, Tk, Fox, or more than one of the above, in the manner of > the "virtual toolkit" mentioned in the original rant... Qt is cross-platform; so is Tk. Why must it be Windows? To be honest, as much as I hate Windows, I prefer the Windows GUI toolkit to Tk. But, I think what you're saying is what I've been saying: what is needed is an API, and then multiple backends that answer to that API. This is, effectively, what SWT does, AFAIK. SWT uses the native Windows toolkit to draw as many widgets as it can; those that Windows doesn't support, SWT draws itself with something similar to Swing. > And back to the original rant: let's look at the charges it levelled at > Tk. It's ugly? Maybe. But I'm guessing its visual simplicity is *why* this > toolkit runs in so many places. And other than minor aesthetic concerns, I Unfortunately, for a GUI, aesthetics is extremely important. > And maybe it's ugly compared to some of the more popular Linux toolkit > choices, but Tk is certainly as attractive as Windows is. There's no Well, I wouldn't agree with that statement, but that is obviously an opinion. > and effects are configurable. And it's a *scripting* toolkit... how > attractive does it have to be? Either way, it is not difficult to build a > class that "skins" your Tk applications. You don't have to live with grey! Right. That's the thing. I'd like to have a toolkit I can write real applications in, not just scripts. > But I very much like the idea of a universal API that uses a native widget > set to perform. I would use such a beast. It would also benefit Linux-only > developers/users, since it means that there is no fight about Tk, Qt, or > gtk+ to be had. You simply use the API and let the user decide or default > to the toolkit they're using for the other applications on their screen. I'm thinking SWT is the model to follow. I've heard it mentioned several times on this list; I've looked at it myself, a little. I'm not sure how much help it will be, and it sounds like a big job. I think I'll write a separate posting about this, and explore it further. --- SER