Why Not QT

From Openmoko

Jump to: navigation, search

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

Personal tools