Why Not QT
From Openmoko
This page outlines why new application developers should understand why they use GTK+ (and libopenmokoui) as the basis of their applications and not a Qt/Qtopia alternative.
These points were nicely pointed out by Chris Lord on the openmoko-apps mailing list which I've reorganized here: -- notserpe
Contents |
Summary
Bad Idea
Please see this diagram http://wiki.openmoko.org/wiki/OpenMoko for the design of the OpenMoko platform. OpenMoko is a distribution designed around GTK+2 and not Qt. No where in that diagram will you notice Qt/opia. The wonderful people who brought us OpenMoko and the Neo1973 designed the OpenMoko distribution and framework around GTK+, that is the chosen direction for the project. Anything else is diverging and competing with that vision.
Chris says it best here:
"The fact is, that on a machine constrained by memory resources, CPU resources and storage resources, that diverging from the specified foundation libraries is not a good idea. If the platform was based on Qt/Qtopia, I'd give the exact same advice to stick away from GTK."
Points Against
Point 1, Bad Look and Feel
On October 5, 2007 11:16:10 AM EDT, Chris Lord wrote on the openmoko-apps mailing list:
"It doesn't matter how good or bad ipkg is, running Qt apps on a system with limited system memory when the main toolkit being used isn't Qt is not a good idea. Even regardless of memory, unless someone steps up to write themes that look exactly the same on both Qt and GTK and replicates the custom GTK widgets, Qt apps will still not look or feel correct on the OpenMoko platform either."
Point 2, Bad Engineering
On October 5, 2007 7:15:19 AM EDT, Chris Lord wrote on the openmoko-apps mailing list:
"Integration is great, but please don't use Qt if you can help it (reason being all the moko platform apps use GTK/Glib, so Qt apps incur greater memory overhead and look terribly out of place)."
The platform is an embedded system and not a desktop with gobs of resources. Running GTK and QT on your desktop simultaneously might be fine but remember that this is an embedded system with a small footprint and limited resources.
Point 3, Bad Integration
On October 6, 2007 4:12:39 AM EDT, Chris Lord wrote on the openmoko-apps mailing list:
"...When picking a platform to write a *new* app for OpenMoko, unless there's some prior reason not to, you should pick GTK. This is the toolkit that every core OpenMoko application uses and will provide you with great benefits in many areas (memory, look and feel, examples, custom widgets, system integration, etc.). Picking anything else will make your app alien to the rest of the OpenMoko environment. . If I were running GNOME, I wouldn't use Konqueror for the file manager, even if it is more capable than Nautilus, because it doesn't integrate with the rest of the environment. Likewise if I were running KDE, I wouldn't use Epiphany for the browser."
Disclaimer
Nothing said here is in any way an indictment of Qt or Qtopia. If you want to develop an application in Qt go right ahead, no one is stopping you. This page is meant as a friendly discouragement from wandering to far away from the goals of OpenMoko. Please don't call your Qt applications "OpenMoko" applications. If you don't fit into the framework, you're really not an integrated application. Sure, you run on the Neo1973 platform but you're outside the OpenMoko software project itself in my opinion. -- notserpe


