1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
<?xml version='1.0' encoding='utf-8'?><!-- -*- indent-tabs-mode: nil -*- -->
<chapter id="platform">
<title>Platform Overview</title>
<para>The GNOME platform provides a comprehensive development environment
for graphical applications and other software. Using the technologies in
GNOME, you can create high-quality software to meet and exceed your users'
expectations. This chapter provides a very brief overview of the components
that are discussed in this document.</para>
<section id="platform-core">
<title>Core Technologies</title>
<para>GNOME provides a number of libraries for constructing attractive
graphical interfaces. It provides libraries for displaying and manipulating
common user interface controls, for laying out and rendering text from most
of the world's writing systems, and for drawing sophisticated vector
graphics to the screen. The graphical technologies in GNOME are outlined
in <xref linkend="graphics"/>.</para>
<para>The GIO library in GLib, together with the GVFS backend, provides
a file system abstraction that allows users to work with files on remote
servers as well as the local file systems. GIO provides a high-level API
for file operations, making development fast and easy. Using GIO will
allow your application to support remote files and folders automatically.
GIO and GVFS are discussed in <xref linkend="gnome-vfs"/>.</para>
<para>GNOME provides the GConf library and daemon for storing and retrieving
user preferences. GConf has a simple API that makes it easy to provide
instant-apply preferences in your application. Using GConf also allows
administrators to provide default and mandatory application settings for
their users. GConf is discussed in <xref linkend="gconf"/>.</para>
<para>GNOME provides facilities for internationalization and accessibility,
helping you reach the largest possible number of potential users. Much of
the internationalization and accessibility support is built right in, but
there are many issues you should be aware of when developing applications.
Internationalization is discussed in <xref linkend="i18n"/>. Accessibility
is discussed in <xref linkend="a11y"/>.</para>
<para>GNOME ships with GStreamer, an extremely powerful multimedia framework
for creating, editing, and playing audio and video content. GStreamer is
discussed in <xref linkend="multimedia"/>.</para>
<para>GNOME also provides a complete print framework which leverages
CUPS whenever possible. The print framework in GNOME allows you to
provide a consistent interface to high-quality printing. The print
framework is discussed in <xref linkend="printing"/>.</para>
</section>
<section id="platform-ipc">
<title>IPC and Networking</title>
<para>The GNOME desktop has full support for transferring data using the
clipboard or with drag and drop. The APIs in GTK+ can help you create
applications that interoperate well with the rest of the desktop. Clipboard
and drag and drop functionality are discussed in <xref
linkend="clipboard"/>.</para>
<para>With <ulink url="http://www.freedesktop.org/">freedesktop.org</ulink>,
GNOME provides the D-Bus messaging system. D-Bus is a cross-desktop message
bus which allows all types of applications to communicate with one another.
D-Bus is discussed in <xref linkend="dbus"/>.</para>
<para>GNOME features the Bonobo component system, built on top of CORBA.
Bonobo allows programmers to create complex embeddable components which
can be reused inside other programs. Bonobo is discussed in <xref
linkend="bonobo-corba"/>.</para>
<para>To make networks more manageable for users, GNOME supports DNS
Service Discovery. DNS Service Discovery enables applications to find
services automatically on a local network, rather than requiring users
to provide network addresses. DNS Service Discovery is discussed in
<xref linkend="dns-sd"/>.</para>
<para>Finally, GNOME provides a number of libraries for working with XML
and web services. These technologies are becoming increasingly important
to application developers. XML and web services are discussed in <xref
linkend="xml-web-services"/>.</para>
</section>
<section id="platform-desktop">
<title>Desktop Technologies</title>
<para>The GNOME desktop features numerous places where applications can
provide better integration, such as providing panel applets or plugins
for the file manager. Many of these features are discussed in <xref
linkend="desktop-tech"/>.</para>
<para>GNOME provides comprehensive Human Interface Guidelines to help
you create more usable applications. GNOME's usability standards were
a first among free desktop environments, and they continue to improve
through GNOME's commitment to a better user experience. Usability is
discussed in <xref linkend="usability"/>.</para>
<para>GNOME also provides a complete help system, as well as style
guidelines for writing documentation. Though often under-appreciated,
good user help can significantly improve your software. Documentation
is discussed in <xref linkend="documentation"/>.</para>
</section>
</chapter>
|