I’ll give you three good reasons:
• It’s free (for free software development).
• It works very well.
• Your application can build on a collection of powerful, developer-friendly widgets that
range in function from a simple text label to a full-fledged Java- and JavaScript-enabled
HTML 4.0-compliant Web browser, component (or embedding) routines, and Internet
access classes that make your application network transparent.
Because KDE is a popular free software project, you’ll find it distributed with most Linux distributions,
including Red Hat, SuSE, and Corel. You can always download the latest stable
alpha and beta versions for free and download the up-to-the-minute (roughly) development
code so that you can keep your application up-to-date and take advantage of new features as
they become available.
KDE works so well because the open development model encourages submission of bug
reports and patches and attracts skilled developers. KDE 1.1 was declared Innovation of the
Year at CeBIT ‘99, the world’s largest computer show and, in the same year, won LinuxWorld’s
Editor’s Choice award in the Desktop Environment category.
The KDE libraries offer services that help developers maintain the level of sophistication
expected of modern desktop applications. Classes offer network access via HTTP, FTP, and
other protocols, drag-and-drop between applications, interprocess communication, and internationalization
and localization functions.
The large collection of widgets in the KDE and Qt libraries, implemented in C++ classes, are
well designed and functional. Because they are implemented in C++ classes, they can be subclassed
to modify or extend their behavior. The widgets provide most of the KDE look and feel
so that you can spend more time working on the functions that make your application unique.
The Qt signal/slot mechanism, which is a convenient
alternative to C-style callback functions, allows you to quickly “wire together” widgets to
create a GUI. The libraries also include utility classes to handle strings, linked lists, and other
data structures, sockets programming, interprocess communication, as well as complexfunction
widgets, such as a desktopwide address book and a Web browser.
The KDE libraries also include a framework for application embedding (called KParts) that
allows you to easily add the functionality of an entire application to your program. (This is
similar in concept to Netscape Navigator plugins.) The KDE office suite, KOffice, uses the
concept of application embedding to create documents that can contain text, graphics, spreadsheets,
and other elements that all display on the same page and can be edited in place.
Finally, KDE provides the means for creating applications that are “network transparent.” This
means that users can open and save files from and to remote and local locations using the
familiar techniques (i.e., selecting Open or Save from the File menu).
The network transparency theme runs through all of KDE, in fact. The “file manager” (this
term doesn’t do the application justice!), Konqueror, is the perfect example: In its window you
can browse and manipulate local files, FTP sites, and HTTP directory listings using the same,
familiar, file/folder metaphor. Using the KDE libraries for you application will allow you to
easily implement the following scenario for example: A user drags a file from a Konqueror
view of a remote, personal directory being accessed via FTP to your application. He/she edits
the file and then presses Ctrl+S (the save command) and the file is automatically transferred
back to its original location via FTP.
The KDE classes are well documented and this documentation, along with many tutorials and
HOWTOs, is available on the developers’Web site: http://developer.kde.org. You’ll find
information on new KDE technologies, GUI design instructions, and programming tutorials.
|