« Suck on this Adobe | Main | Teppefall Hybrid released »

Java Swing versus Nokia Qt

Qt Software (Trolltech/Nokia) has some pretty impressive technology and the new license makes it possible for pretty much everyone to develop Qt based software. Nokia wants a slice of the iPhone marked and Qt is the dedicated carrot on a stick. Although, I expect most people will write desktop software since this is the focus of their excellent Qt Creator IDE. Mixing Qt Creator and Visual Studio C++ 2008 Express is a powerful combination, but very complex to set up. And you will need this if you want to compile Phonon and Phonon compatible QT4.5 shared libraries. Qt Creator is very easy to use for Qt beginners, but you will need console and makefile skills if you want Phonon.

Teppefall Media Player (Qt) (15).png

The downsides are as follows.
Ridiculous compilation time unless you know how to split up your project into smaller bits.
Resource format appears to be from the stone age. It's solid, but Java developers will hate it.
Whiny when it comes to image formats. Java appears to be superior.
Qstring. Yet another string format. I understand why.. but OMG.. C++ standards process == poo.
Very complex build process based on PRO, MOC, QRC and non-standard C++ keyword(s) (slots).
MingW32 GCC is awesome, but Phonon/DirectX/DirectShow/etc requires Windows SDK and CL.
Four makefiles if you want Windows, Linux, OS X Cocoa and OS X Carbon builds.
Yes, I know about the PRO format, but I was almost instantly forced to write my own makefiles.
32/64 bit complexity. Suddenly shared DLL's becomes rocket science.
C++ threading is a non-standard mess.

Teppefall Media Player (Qt) (12).png

The media framework used in Qt is something called Phonon. Simple, easy to use and similar to JMC. Qt can be styled using standard CSS and it looks pretty decent. I do dislike the tiny icons and tiny text that seems to be the default on CSS styled Windows Vista. Qt developers must either have glasses or hawk eye vision. I don't understand why the QRC format scales everything down into tiny icons. Qt has SVG support, but I have yet to figure out how they use it. The framework is gigantic and you can spend a long time reading documentation. But the code samples are very good and the documentation is easy to understand.

My Qt media player feels very similar to the WPF version in terms of memory use and video scaling. Which is understandable, since both are relatively thin layers over the Windows media framework.

So, Qt, yet another framework where video is available today.

Teppefall Media Player (Qt) (13).png



This website is all about alpha and beta software

Download non-beta software here