Cross platform development has been a goal that I have held very close to my heart for quite some time. The notion of having an application or even a simple utility that can work across Windows, Linux and Mac somehow presents a charm that I find very appealing and something, try as I may, that keeps haunting my thoughts.
I tried my bit on wxWidgets, but found its MFC style architecture a little boring. I’m sure it works very well and there are many applications that use wxWidgets, but somehow wanted a framework that’s commercially supported while being a little bit more pure C++. (wxWidgets3 is supposed to be this, but it’s been coming for a very loong time).
I have even dabbled with XUL and XPCOM, but found the lack of a proper development tool very stifling. It’s amazing how many open source projects that have really cool technologies do not get their fair attention from other developers because of lack of proper tools. If only some of the Firefox team members forked out a project to create an integrated IDE that allowed designing the GUI and adding various event handlers from it. The whole concept of developing front end using an interpreted language such as Javascript is wonderful as it allows you to make quick changes to the presentation layer and get visual feedback immediately. In fact, this is better than the statically bound GUI such as those delivered by MFC, wxWidgets and such, but one needs a proper tool to create the initial content.
Anyway, having given up on the above two, I recently revisited another candidate that I had evaluated earlier — Qt. I had given up on Qt few years ago for their licensing costs were far too high. I felt that for a company trying to sell a new application framework, to get one better over the incumbents, they ought to price is really low. Anyway, with the recent acquisition by Nokia and their decision to have a GPL version that allows full proprietorship for applications built using it, I felt I ought to give it another shot. Also, their new tool, Qt Creator — the core IDE that allows everything to be done from one application — sounds very promising. Let’s hope it lives up to its perceived (purely mine) promise!
So over the next few weeks (or even months) I plan to spend a little bit of time every week to look into Qt and how to create applications using it. I’ll try to document as much as I discover — both as a notes for my research as well as in the hope that someone else on the Net might find something useful in it. I can’t think of a specific application that I want to create, but I’m hoping that as I wander through the framework, I’ll have a ‘light-bulb’ moment leading to a worthy application to test the framework’s mettle.