Although GNOME is well known for its innovative and compelling user interface, it is much more than just another pretty face in the crowd. It is the beneficiary of a sound architecture that embraces the network, promotes the efficient development of reusable code modules, and facilitates smooth data interchange. These characteristics make it a perfect fit for today's Internet age, where customers are demanding better ways to use computers in highly-distributed, heterogeneous computing environments. Overview of the GNOME ArchitectureFor a detailed description of the GNOME architecture and technologies, the best place to visit is the GNOME community's Web site for developers located at developer.gnome.org/. Some of the more interesting modules you will want to investigate include:
Did you notice the number of modules in this list relating to the network -- ORBit, Bonobo, gnome-vfs, ...? As previously noted, network-centricity is a key strength of GNOME and one of the key reasons Sun has adopted it. GNOME's architecture and overall approach dovetails nicely with Sun's own strategy, summarized by Sun's longtime vision of The Network is the Computer. Most people that develop software for GNOME use the well-known free source GCC compiler and associated build tools. The Free Software Foundation's GCC home page is located at http://www.gnu.org/directory/devel/compilers/gcc.html. Another important tool is the Glade user interface design tool for GTK+, which comes with Sun's GNOME 2.0 product. For more information, please visit glade.gnome.org. How Portable are GNOME Applications?Most applications that are designed to work with GNOME, the standard GNOME libraries, and POSIX-compliant APIs should run on any platform on which GNOME is hosted by simply recompiling the source code for the instruction set used by the host processor. GNOME runs on the Solaris Operating Environment, GNU/Linux, and most other flavors of UNIX® software; it also supports several processor architectures. This means you can reach many more customers with just a little extra effort. Be on the alert for portions of your source code that might have chip-architecture dependencies, such as reliance on a little-endian or big-endian byte order. You will want to modify these portions to maximize the portability. Where Does Java Technology Fit In?GNOME fully supports the Java Runtime Environment, which is a standard service provided by the underlying Solaris Operating Environment, so virtually all Java technology-based applications run just as they do when another desktop user environment (such as CDE) is running. This means that GNOME in no way interferes with your ability to create Java technology-based software -- you can continue taking full advantage of the benefits of Java development, such as binary portability, productive development, and well-structured code. Over time, Sun plans to make it possible for even closer integration of Java software with the GNOME environment. Where Can I Get More Information About Programming for GNOME?Several introductory books on GNOME programming are available now. And as the popularity of GNOME increases, more are sure to follow. Here are a few of the ones you might want to check out:
There are also useful online tutorials available, such as:
To keep in close contact with the GNOME community, you may want to join some of the GNOME mailing lists that exist to support a variety of topics. For details, see: Summary of Important Web Sites
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||