Architecture and Design

GNOME provides an excellent framework for building applications by providing a set of core libraries. These include libraries to create graphical user interfaces, high-level components for creating applications with a uniform look and feel, a fast and thin CORBA ORB, and miscellaneous functions for handling configuration files. GNOME also provides libraries for handling XML data and HTTP connections. More importantly, GNOME provides functionality that free software systems have lacked for a long time, like a component architecture and a printing and font framework.

The following sections are devoted to overviews of the GNOME architecture, with examples and notes from the authors themselves. For the most part, these sections are technical in topic, and are aimed at the developer. However, they are presented in a non-technical manner, and people just interested in seeing what the GNOME development environment has to offer should feel at home.

Component Model
GNOME's distributed object framework is CORBA based, but adds advanced capabilities such as components, document objects, and scriptability.
Core Components
The Core Components of GNOME are closer to what is traditionally thought of as GNOME. They include the Panel, the Control Center, and the Desktop.
Additional Widgets
GNOME provides a number of higher level widgets that are not in GTK+. These widgets provide a level of consistency between applications, and ease the development of GNOME applications. They also provide a lot of the policy that goes into designing a consistent desktop.
GNOME Miscellaneous
GNOME also provides a number of other service and utility modules for application developers. These are a somewhat eclectic in nature and are lumped together here for convenience.

Users · Developers · ViewCVS · FTP · Bugzilla · Software Map · Contact