So I guess that the upcoming Linux port of Google Chrome will be using the GTK+ toolkit.
Unfortunately the OSNews story I linked to didn’t bother to link to the email that they’re quoting so I only have their writeup of the explanation from Google engineer Ben Goodger to go off of. But it seems to me that Ben is making up explanations…
Update 1: OSNews has updated their story to add the email they’re referencing. Thanks, guys.
Regarding the question of why not Qt from the get-go instead of making essentially three different applications, he replies by more or less saying that using cross-platform toolkits doesn’t really offer anything except the illusion of native software, which makes the application end up “speaking with a foreign accent”. Now, that may be a reasonable issue he’s having. After all, he’s the Google engineer and I’m just the guy writing code in his spare time. But the same argument applies to his choice of GTK+, which is also a cross-platform toolkit. For the Linux/X11 platform both GTK+ and Qt are “native”. And Qt will, if you’re running under GNOME, default to a Clearlooks-alike style. And apparently, with Qt 4.5, it will default to GTK+ itself doing all the drawing. So that doesn’t seem to be a point against Qt, at least in relation to GTK+.
Ben also further claims that choosing Qt would limit the application to the subset of functionality between the 3 platforms chosen instead of allowing Chrome to use platform-specific features. It’s pretty much flatly false though, or else how does Qt Software manage to get their Windows XP style to work? I know that Ben and the rest of the brilliant guys at Google are able to figure out how to use #ifdef, so I figure the real reason is that they wouldn’t have wanted to clutter up their code with those (although even that can be easily minimized with proper design). Although not up to the level of our base X11 implementation, KDE on Windows is working. And that’s an entire desktop environment, one of the largest open code bases in the world, so I guess I don’t understand this argument either.
That was all of the arguments I saw against Qt, and neither was convincing. What seems more convincing to me is that other Google engineers apparently didn’t have the same impression of the problems with Qt, seeing as how Google Earth uses Qt.
I think what the real reason is, is that Ben Goodger likes GTK+ better, or is at least more familiar with it, and made the decision to use it. Which is fine, that’s his choice, and is probably borne out by his experience working with Netscape and working on the Firefox project. I just don’t see why he’s having to try to make up excuses after the fact.