old-www/HOWTO/XWindow-Overview-HOWTO/toolkits.html

186 lines
4.6 KiB
HTML

<HTML
><HEAD
><TITLE
>Widget Libraries or toolkits</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.63
"><LINK
REL="HOME"
TITLE="X Window System Architecture Overview HOWTO"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Client Applications"
HREF="client-applications.html"><LINK
REL="NEXT"
TITLE="What we have so far"
HREF="so-far.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>X Window System Architecture Overview HOWTO</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="client-applications.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="so-far.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="TOOLKITS"
>6. Widget Libraries or toolkits</A
></H1
><P
>The original widget library, developed for the Athena Project,
is of course the Athena widget library, also known as Athena
Widgets. It's very basic, very ugly, and the usage is not intuitive by
today's standards (for instance, to move a scrollbar or slider
control, you don't drag it; instead, you click the right button to
scroll up and the left button to scroll down). As such, it's pretty
much not used a lot these days.</P
><P
>Just as it happens with window managers, there are a lot of
toolkits, with different design goals in mind. One of the earliest
toolkits is the well-known Motif, which was part of the Open Software
Foundation's Motif graphical environment, consisting of a window
manager and a matching toolkit. The OSF's history is beyond the scope
of this document. the Motif toolkit, being superior to the Athena
widgets, became widely used in the 1980's and early 1990's.</P
><P
>These days, Motif is not a popular toolkit choice. It's not free
(speech), and OSF Motif costs money if you want a developer license
(i.e. to compile your own programs with it), altough it's OK to
distribute a binary linked against Motif. Perhaps the best-known Motif
application, for Linux users at least, is Netscape
Navigator/Communicator (prior to Mozilla).</P
><P
>For a while Motif was the only decent toolkit available, and
there's a lot of Motif software around. Of course people started
developing alternatives, and there are plenty of toolkits, such as
XForms, FLTK and a few others.</P
><P
>Motif is not heard of much these days, specially in the free
software world. The reason is that there are now better alternatives,
in terms of licensing, performance (Motif is widely regarded as quite
a pig) and features.</P
><P
>One such toolkit, the widely known and used Gtk, was
specifically created to replace Motif in the GIMP project (one
possible meaning of Gtk is "GIMP ToolKit, altough, with its widespread
use, it could be interpreted as the GNU ToolKit). Gtk is now very
popular because it's relatively lightweight, feature-rich, extensible
and totally free (speech). The 0.6 release of the GIMP included
"Bloatif has been zorched" in the changelog. This sentence is a
testament to Motif's bloatedness.</P
><P
>Another very popular toolkit these days is Qt. It was not too
well-known until the advent of the KDE project, which utilizes Qt for
all its GUI elements. We certainly won't get into Qt's licensing
issues and the KDE/GNOME disjunctive. Gtk gets a lengthy mention
because its history as a Motif replacement is interesting; Qt gets a
brief mention because it's really popular.</P
><P
>Finally, another alternative worth mentioning is LessTif. The
name is a pun on Motif, and LessTif aims to be a free, API-compatible
replacement for Motif. It's not clear to what extent LessTif aims to
be used in new development, rather than just helping those with Motif
code use a free alternative while they (conceivably) port their apps
to some other toolkit.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="client-applications.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="so-far.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Client Applications</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>What we have so far</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>