Book Image

GNOME 3 Application Development Beginner's Guide

By : Mohammad Anwari
Book Image

GNOME 3 Application Development Beginner's Guide

By: Mohammad Anwari

Overview of this book

<p>GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. GNOME 3 provides both modern desktops and development platforms with more than 50 supported languages of the world. Since 1999, it has been evolving into a very nice desktop to use and an interesting platform to develop on. <br /><br />"GNOME 3 Application Development Beginner's Guide" is about developing GNOME 3 application with Vala and JavaScript programming languages. It guides the reader to build Gtk+, Clutter, and HTML5 applications on the GNOME 3 platform. It covers GNOME 3 specific subsystems such as data access, multimedia, networking, and filesystem. It also covers good software engineering practices such as localization and testing.<br /><br />This book is full of step-by-step tutorials and ready to run codes. The examples are written in a simple and straightforward way&nbsp; to make it easier for the reader to get a thorough understanding of the topics.<br /><br />The book starts with the installation of GNOME 3 and ends with building two exciting projects, a web browser and a Twitter client. The book starts from the basics and gradually talks about more advanced topics.<br /><br />It then guides the readers in using the development environment starts from Anjuta IDE, Glade, and DevHelp. The essential GNOME 3 subsystems like GStreamer, GLib, GIO, GSettings, Evolutions Data Server, WebKit, and GNOME desktop are then uncovered one by one. Then the internationalization, localization, and unit testing techniques are brought up.<br /><br />"GNOME 3 Application Development Beginner's Guide" is really a guide that a novice GNOME 3 application developer must not miss.</p>
Table of Contents (21 chapters)
GNOME 3 Application Development Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

System requirements


GNOME 3 provides two sets of User Experience (UX) that target different types of installed hardware—GNOME Shell and GNOME Panel/Fallback. These two UX have different requirements, but they share the basic ones:

  • 800 MHz CPU power (at least 1 GHz for optimal performance)

  • 512 MB of RAM (at least 1 GB for optimal performance)

  • More than 2 GB of available hard drive storage (more, if you want to install more applications)

The GNOME Shell

This is the latest addition in GNOME 3, and provides slick user experience. This UX requires 3D acceleration through an OpenGL-capable video card properly installed in your system. On a safer note, most of the video cards from Intel, ATI, and nvidia brands would work nicely.

However, even though you know that you have a video card that is capable of doing OpenGL, make sure that your video card is really activated with the proper drivers, otherwise the system will not let you use this UX.

Note

You can check whether your video card would work with this UX by checking the h-node page at http://www.h-node.org/videocards/catalogue/en and check whether it has the works with 3D acceleration verdict stated there.

GNOME Panel/Fallback

This is the good old GNOME desktop, which provides a basic and less attractive user experience. The system will fall back into this UX whenever it cannot activate the OpenGL. This UX is similar to the older versions of GNOME, but the user interface is modified a bit so that it will look similar to a state of GNOME Shell user interface. For example, the main UI is totally different but the lock screen is pretty similar in both.

Fortunately, only a few parts of this book will make use of the GNOME Shell UX in great depth, so we can safely work with GNOME Panel/Fallback UX in order to follow this book.

Development requirements

As we are doing software development on top of these requirements, obviously we will need more computing power, RAM, and storage. Fulfilling at least the following requirements would make our development time enjoyable:

  • Multicore 2 GHz CPU

  • 4 GB of RAM

  • 500 GB of hard drive storage, preferably SSD

The good news is that we can easily develop GNOME 3 applications using virtualization. By installing the Linux distributions in virtual machines, we can switch between them and tackle the issues found there so that we can make sure that our applications will be built smoothly in GNOME 3 regardless of the distributions. In case of GNOME Shell, you need to make sure that you have enabled the 3D acceleration option in your favorite virtual machine program.

For example, in VirtualBox, we can go to the Settings dialog of a virtual machine, click on the Display option, and then tick on the Enable 3D Acceleration option. Remember, though, that you will not be able to activate this option if your host machine is not capable of doing 3D acceleration by itself.