August 14, 2007

15 years to glory – wxWidget!

Filed under: Misc,Techs — mdzahidh @ 6:13 pm

1992, a guy from University of Edinburg was given the task to design a CASE (Computer Aided Software Engineering) tool to be run in both Windows and Linux system. At that point in time only a few cross platform GUI APIs were available and were very expensive for an university to spend on an in-house experimental tool. But that didn’t stop Julian Smart from designing his CASE tool. He realized that a cross-platform GUI has to be developed first and eventually wxWidget was conceived. Its is probably one of the most talked about Open-Source project after Linux itself !

I always had been an advocate for wxWidget since I used it for the first time with version 2.4. Coding with wxWidget is a pleasure. It’s amazing to see how simple the API is (as far as coding is concerned) yet how diverse and complex it’s outputs can get. It’s probably the only C++ widget set that takes native look, i.e. it takes the original look and feel of the platform it has been built for, unlike Swing of Java. An windows application will actually look like an windows application and similarly a Linux GTK application will look like a true GTK application. This feature is somewhat similar to the SWT (for Java) and is pretty cool. Another great feature of wxWidget is that it can save it’s GUI layouts and other details in xml format which can be modified without touching or rebuilding the code.

If you are thinking that wxWidget is only for Windows and Linux then get ready for a surprise because it has ports for literally all platforms on the planet including Pocket PC ! Even it has a port called “Universal” which has its own look and feel and is guaranteed to run in all Linux flavors, even if you do not have GTK !

wxWidget application running in Windows

wxWidget application running in MAC

The widget set is extremely diverse. You have almost everything you would ever need. However, you cannot make another Office-2007 or Visual Studio 2005 with it. Since the project is an Open-Source project a major part of it is community driven which means that components and widgets are developed almost continuously by someone somewhere. If you feel you need a certain component that doesn’t exists in wxWidget, just hold your horses and do few googles before you decide to write your own codes, because more than often you will find that a similar component has already been coded by someone and has been made freely available. In the current release of 2.8 they added one extra set of widgets called AUI which has a collection of advanced UI controls with docking capabilities and etc. wxWidget also participates in the Google Summer of Code and you can have a peek at what they do there (click).

It’s is quite amazing that over the last ~15 years wxWidget has almost become a standard for cross-platform C++ GUI application. The number and the names of the companies who have embraced this technology is quite envious. The list includes companies like AMD, AOL, organization like NASA, research institutions like Carnegie Mellon University, CalTech and etc. For a complete list click here. One extra bit of information I can share is that Electronic Arts, RedWood Shore Studio (Maxis Studio) is going to be added in that list very soon!

Even if you are not planning for a cross-platform GUI wxWidget can still be your solution, ofcourse if you are not planning to make another Office -2007 or anything alike.

Happy wxWidgeting 🙂




  1. Nice post. I have used wxWidget myself but did not know so much about its background.

    Comment by Reza — August 14, 2007 @ 6:47 pm | Reply

  2. Nice article Zahid. However I’d like to mention that QT/GTK got much fame too and probably much more apps were written in QT/GTK then any other open source GUI platform and of course, they are cross-platform too (as they have versions for many OS including Windows). But yes, wxWidgets is more portable and definately rocks!

    Comment by Kaisar — August 14, 2007 @ 6:50 pm | Reply

  3. You are right Kaiser Bhai. QT/GTK is pretty famous but both have a problem that is both have their own look-n-feel whereas wxWidget takes the native look-n-feel. QT is only free for Linux but it is not free for Windows as far as i know.

    Comment by mdzahidh — August 14, 2007 @ 7:29 pm | Reply

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: