Linked by Thom Holwerda on Sat 14th Feb 2009 12:55 UTC
Google A major complaint about Google's Chrome web browser has been that so far, it is still not available on anything other than Windows. Google promised to deliver Chrome to Mac OS X and Linux as well, but as it turns out, this is a little harder than they anticipated, Ben Goodger, Google's Chrome interface lead, has explained in an email. It has also been revealed what toolkit the Linux version of Chrome will use: Gtk+.
Permalink for comment 348886
To read all comments associated with this story, please click here.
Bad Mistake, But Not a Surprise
by segedunum on Sat 14th Feb 2009 14:56 UTC
segedunum
Member since:
2005-07-06

Alas, with the Linux version of Chrome we're going to get the same as the Linux version of Firefox - a poor third class citizen that integrates poorly, despite the 'native' claims, has a ton of stuff ported over from the Windows version poorly and needs a lot of work to port rather than just letting the toolkit take the workload and handle the problems.

"[avoids] cross platform UI toolkits because while they may offer what superficially appears to be a quick path to native looking UI on a variety of target platforms, once you go a bit deeper it turns out to be a bit more problematic."....."limits what you can do to a lowest common denominator subset of what's supported by that framework on each platform."

I'm afraid this is rubbish, and it seems that Google, or some people in Google, have little experience of how difficult cross-platform development is.

Firstly, if you have a cross-platform application then you have to pick a lowest common denominator of what will work across each platform by yourself. That's unavoidable. In practice you never find this common denominator yourself. When the bugs start rolling in you quickly find that there are some things that work on one platform that don't work on another, you have GUI issues that happen on one platform that don't on other, and worse, when you try and fix it it breaks behaviour on another platform. Anyone who has seen SWT's massive bug list and has used wxWidgets to develop a complex application knows this. The net effect of this is that, in the case of SWT, Win32 is silently supported as the primary platform. Not very cross-platform.

It gets even worse the more complex things get with things like graphics and you find yourself having to write ever more cross-platform 'glue' to get things to work to the point where you have your own, poor, cross-platform toolkit anyway! That's what happened to Firefox.

This is the problem you have when you develop a cross-platform toolkit and try to port it so that cross-platform applications all have native look and feel and native tie-ins. You get divergence, and with divergence you get maintenance and bugs. Lots of them. In practice, you have to concede something. Qt is the only toolkit that gets it right. It uses as much of the native system it can for look and feel, but it handles as much in the toolkit as it can get away with to ensure its integrity across all platforms and that it actually works.

Secondly, the notion that you somehow have to stick to a lowest demoninator is rubbish as well. You use a toolkit that ensures your common denominator will actually work, and you then build your platform-specific extensions on top. Qt can do that very well:

http://labs.trolltech.com/blogs/2008/05/13/introducing-qgtkstyle/

Qt is just the right platform for this kind of stuff. I explained it quite well when Qt was LGPLed as well, and I did wonder what the excuses would be next ;-) :

http://ponsaelius.blogspot.com/2009/01/qt-goes-lgpl.html

Reply Score: 16