Re: what's the difference and superior between gtk+ and gecko?
On Wed, Mar 4, 2009 at 01:04, Star Liu <email@example.com> wrote:
> I want to develop a cross-platform desktop software by open source
> platform and develop tools. I'm also a web developer so I'm interested
> in gecko, and know that gecko is also able to build desktop
> applications by XUL, not only display html files. But it seems gtk+ is
> the more normal way to develop desktop applications, then what's the
> superior of the two methods? thanks.
This is off topic for this list, but since I am replying anyway...
GTK and QT are traditional toolkits that are use for building apps.
They are comparable to WinForms (.NET), MFC (Win), or AppKit
Gecko is technically the rendering engine at the heart of XULRunner,
otherwise known as the Mozilla Platform. XUL is Mozilla's XML
User interface Language, which is used for Firefox's "Chrome" -
all the UI elements around the web page. XUL is rendered with
for a Web dev to write an app, but I suspect you would have to
write some amount of C++. In any case, you would have to learn
how the JS wraps the C++ interface, which is rather different
from the DOM.
QT is written in C++ and GTK is C with GLib/GObject. I know
you can write the bulk of a GTK program in Python; QT has
QTScript (ecmascript) and some support for Python and
Ruby, although I don't know if the majority of a QT program
can be written with any of those.
A XULRunner program will be larger (on disk and in memory)
and slower than a GTK or QT program. A large, complex
program will suffer less from this than a small or trivial
XULRunner make the most sense if you are going to be
rendering html or doing networking with your program anyway.
It is worth noting that QT is a very complete framework, more
so even than XULRunner, and it includes QTWebkit. In the
just released QT 4.5, the Webkit is close to the version used
in the new Safari 4 betas.
GTK is more loosely joined, with many parts run as separate
but allied projects (e.g. Pango, the text engine), and in some
cases there are several projects that might fill a need, with
none really official.
All three are now available under the LGPL, and QT and
Moz have some other license options.
I suggest you check out the sites and maybe ask some
specific questions (not "which is better") on the appropriate
forums/mailing lists and decide which is better for you.