Web Journal of Alex Combas
Programming, Animation, Linux and Life
RSS
  • Blog
  • Contact Us
  • Demo Reel
  • Education

Qt Category

Why doesn’t Google use Qt or Swing or SWT for Chromium?

Android, App Engine, Chromium, Firefox, HTC, Qt, SWT, Swing, google 0 Comment »
Google Chrome

Google Chrome

I’ve been pouring through the video’s as they’ve been released of the Google-IO conference which happened a few days ago, its really hard to imagine that so much awesome took place over just two days. I think Google’s next step should be to open Google University to teach people how to use all this awesome new crap. First on my list is definitely Google App Engine but I’ll talk more about that another time.

Also I’d like to quickly mention that I stopped by Best Buy to take a look at the new Android phones which just hit the Canadian market for the first time a few days ago, unfortunately they didn’t have a working model on display but it was still interesting to see them. I think the model with the flip screen (HTC Magic) which reveals the keyboard is particularly nice, and tonight I just found out that Android will have python scripting built right in! I can’t wait for my Bell contract to expire, I’ll definitely be making the switch to Rogers unless Bell has Android phones by then.

But regarding a completely separate Google product which was really the reason I’m staying up late to write this; recently one of the Google Chromium developers commented regarding porting Chromium to the Linux platform “This entire situation is a clusterf*ck, I am not happy with the technical constraints imposed by Linux and its assorted UI’s on Chrome’s UI and feature set.”. (original thread)

I have the Linux developer version of Chromium installed and I’ve used it a few times it certainly is an interesting looking application and I sympathize with the developer in question, cross platform development with multiple toolkits no doubt is incredibly painful. However I can’t help but think that in this case it is a self-inflicted pain since there are already existing cross platform toolkits freely available which Google could have used  such as Qt, Swing or even SWT. Using a cross platform toolkit would have alleviated much of the pain and frustration that they are now facing porting Chromium to Linux. If they wanted their product to look the same on all platforms then they would have got that out of the box had they chosen Swing or Qt, however if they wanted a native look across each platform then SWT the toolkit used by Eclipse should have worked just fine.

How stupid is it to completely rebuild the entire UI of an application using separate toolkits when the developers knew from the beginning that being cross platform was an absolute requirement and there are cross platform open source toolkits freely available? Is GTK so much better on Linux than the alternatives? Is the native windows toolkit so much better than the alternatives on Windows? It certainly can’t be that it is easier to develop simultaneously with multiple toolkits, so there must be some other powerful reason they chose to do it this way but it baffles me.

Don’t get me wrong I’m really no expert developer so there may have actually been very good reasons why Google chose not to use Swing, SWT or Qt and although I cant think of what they might be I am open the idea and I’d love to find out if someone else actually  does know.

Thankfully  there will always be Firefox and although it doesn’t use Webkit or V8, which I wish it did, it is still an amazingly good Browser and I highly recommend it. In addition Firefox-3.5 will support the HTML-5 specification just the same as the Webkit based browsers so there is no need to ever worry that Firefox users will be left behind. HTML-5 is really exciting it will give browsers the ability to play online video’s without a plugin (bye-bye Flash). That’s going to be a beautiful day.

Edit: Just wanted to add, there seems to have been a bit of confusion generated by this article so I wanted to clear it up. You can not add a Java (SWT, Swing) interface onto a non-Java application so thats not what I was suggesting although it might have seemed that way to some. I was merely speculating that if Google knew it would need to develop on 3 different platforms from the *beginning* then why didnt they choose a crossplatform toolkit.


June 9th, 2009  
Tags: Android, App Engine, Chromium, Firefox, google, HTC, Qt, Swing, SWT



  • About the Authors

    Alex Combas is a CG Artist and web developer.

    May Combas is a Cell Phone specialist.

    This site is OpenID Enabled and viewable on portable devices.

    Click this to subscribe for free...
  • Our Tag Cloud

    Andy Serkis animation chrome Dr. Who dreamworks environment facebook Firefox Functional games gmail google google browser Haskell hobby howto internet life linux Lua maps Maya mocap movies news openid Paramount Pascal Peter Jackson programming reader Ruby Stephen Moffat students tabs technorati teletoon Thomas Sangster Tintin tweets twitter Ubuntu Vancouver wordpress youtube
  • Meta

    • Register
    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.org
Categories
  • Android
  • animation
  • App Engine
  • Autodesk
  • Blender
  • Cartoon Network
  • cbc
  • Chromium
  • employment
  • Firefox
  • games
  • gimp
  • google
  • Haskell
  • HTC
  • important
  • industry
  • inkscape
  • interesting
  • linux
  • Maya
  • movies
  • Nerd Corps
  • news
  • programming
  • Qt
  • Swing
  • SWT
  • twitterings
  • Ubuntu
  • Vancouver
  • wip
  • x64
About Me

My name is Alex Combas. I'm a CG Artist and web developer living in beautiful Vancouver, Canada.

This site is OpenID Enabled and viewable on portable devices.

Copyright © 2010 Web Journal of Alex Combas All Rights Reserved THEMES CSS WP THEME by I SOFTWARE REVIEWS