first draft of my response to Linux Format magazine



Please check for accuracy and if there  is anything that needs to be added, please edit and send back to me:

1. What advantages does GNOME 3 offer to application developers?

Well I think it depends on where you are coming from.   For the purpose of this question, let's restrict ourselves from moving a GNOME 2 application to a GNOME 3. 

For the most part, a GNOME 2 application can exist in a GNOME 3 environment.  We continue to maintain the same GTK+ api from GTK+ 2 although they are deprecated while providing newer API for application programmers to use.  The advantage is that applications developers can move to GNOME 3 at their discretion.  This is in contrast to the GNOME 1.x to GNOME 2.x where we broke all APIs and application writers had to re-write their applications from scatch.

The number of libraries that are required for a typical GNOME 3 has been cut down.  A lot of the GNOME UI libraries and the VFS library have been moved into GTK+ proper.   If you're code in GObject, then the new GOBject introspection will enable much easier bindings integration.  No longer will there be a discrepency between the different language bindings of a library.  Providing a consistent experience in whatever language bindings you use across all GNOME related libraries.

We have integrated Cairo as a new display backend over the more primitive GDK.  Cairo gives us flexibility in how we want to display our windows.  We can now draw GTK+ windows on any number of hardware devices from smart phones to flat screen displays to touch screen.  Cairo is the free software version of "Display Postscript" popularized by NeXT computers.

GTK Theming has changed to use css style syntax rather than the confusing gtkrc system that was used before.  This provide a much improved theming experience for those who want to create new themes.

GTK+ improves how applications stores the configurations by using the GSettings which you can access through a number of backends, DConf being the most popular although you can use anything you want including a simple disk backend.

These are just a number of changes that will be visible to developers.


2. In your work with Rhythmbox, does GNOME 3 require you to do things
differently than they have been done in the past?

This is the response from Jonathan Matthews maintainer of Rhythmbox:
GNOME 3 offers better defined ways for applications to work with the
desktop, which means you don't need to spend time worrying about
whether you want a panel applet or whether close-to-tray makes sense.
Since there's less emphasis on custom themes and user appearance
settings, you can be more confident that end users see things the way
you designed them, and you can worry less about poor interactions with
obscure gtk themes.

So far, moving to GNOME 3 hasn't involved much of a change in how I do
things. It's a different environment for an application to live in, so
there is some adjustment involved, but at least in my case it's
forcing me to do things I wanted to do anyway. I'm also using it as an
opportunity to make more drastic internal changes, and to update to
newer glib and gtk APIs without having to think about backwards
compatibility.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]