While working on my PhD, I got to know the Qt software developers kit from (then) Trolltech. Nowadays, the Qt SDK is property of Nokia and is available under both a commercial and a LGPL license. The older free GPL license did not allow people to develop non-free software using the free version of the libraries.
The idea is still the same: in an abstracted fashion, you can develop applications, by writing them once and compiling them on different platforms. At the time I used it, I did manage to compile my proof-of-concept on Windows, Linux and OSX, with very little platform-specific lines of code.
The newest release of the SDK is a merger of the former desktop-oriented and the mobile SDK's, meaning that a single SDK allows you to target Windows, OSX and Linux computers, but also a wide range of mobile devices.
http://labs.qt.nokia.com/2011/01/20/qt-sdk-1-1-technology-preview-released/
The released version is a technology preview, which means it is deemed rather complete, but is still undergoing further testing before it is officially called a released product.
My main reasons to go for something like Qt:
The idea is still the same: in an abstracted fashion, you can develop applications, by writing them once and compiling them on different platforms. At the time I used it, I did manage to compile my proof-of-concept on Windows, Linux and OSX, with very little platform-specific lines of code.
The newest release of the SDK is a merger of the former desktop-oriented and the mobile SDK's, meaning that a single SDK allows you to target Windows, OSX and Linux computers, but also a wide range of mobile devices.
http://labs.qt.nokia.com/2011/01/20/qt-sdk-1-1-technology-preview-released/
The released version is a technology preview, which means it is deemed rather complete, but is still undergoing further testing before it is officially called a released product.
My main reasons to go for something like Qt:
- abstract platform-specific (and nasty) things into a logical and consistent API
- networking
- reading/writing files
- User Interface (very important > GUI behaves as "native" as possible, e.g. you get the real OSX menu on Mac, while the same code gives a typical Windows menu running on Windows)
- lots more: OpenGL, utility classes, XML, SQL
- They are working hard on responsive interfaces, supporting multi-touch
- Good use of design patterns: abstraction, model/view framework, graphics framework...
- Mostly C++ but can be used from other languages: java, Python...
- liberate license: free to use
- well documented
If you do, I suggest to buy a good book. I can recommend:
- C++ GUI Programming with Qt4, Second Edition which is a full overview for Qt4 and still quite accurate today.
- Practical Qt (although it is getting dated now; as it was mainly written for Qt3)
I recently bought "Advanced Qt Programming: Creating Great Software with C++ and Qt4", but haven't found the time to read it yet.
And if you are curious, it does not support the iPhone/iPad or Android, but some clever people seem to get away with it anyway: http://www.qt-iphone.com, http://code.google.com/p/android-lighthouse
The Qt SDK 1.1 technology preview provides developers with the opportunity to experience the next step in tools support for Qt based development.
ReplyDeleteThe Qt SDK 1.1 technology preview is available in the following versions and installation packages:
* 32- or 64-bit Microsoft Windows XP Service Pack 2, Windows Vista, or Windows 7.
* 32-bit Ubuntu Linux 8.04 or later.
* 64-bit Ubuntu Linux 8.04 or later.
* 64-bit Apple Mac OS X 10.6 or later.
Check the link to download Qt SDK 1.1 (Technology Preview): http://bit.ly/dIiUGQ