Re: How to start ...

On Mon, 22 Jun 1998, Joerg Janes wrote:
> But it seems to me, that there is a shortage of gnome specific
> development documentation. I found much about GTK+ or MICO, but where is
> the documentation of the gnome components and features ? 

There are a very few things on the web site; but mostly you have to read
the source code. Fortunately gnome-libs usually has decent comments. 

> Who can give me some advice about a efficient and fast way to start ?
> Should I begin with littls GTK+ apps or should I use GTK-- for starting
> ? Do I further need knowledge in MICO and other components to start or
> is there a good encapsulation, so that I only need gnome stuff ? 

No real need to know MICO yet. It's only used in the panel.

> I know, I'm a good C++ programmer, but my background is Win32
> programming ... so how should I start programming ? 

This is my suggestion:

- Know basic X concepts - client, server, events, windows. No need to know 
  Xlib, but the concepts. This is the first few chapters or so of
  O'Reilly's Xlib Programming Manual (Vol. 1), or if you've used X 
  often you can probably figure it out.
- Learn how Gtk+ works. You don't have to know each widget, but you should
  know how to write a widget, how signals and callbacks work, etc. Writing
  a widget is the best way to learn; see the Gtk Tutorial.
  This knowledge is essential to reading Gtk+ and gnome-libs source.
- Familiarize yourself with the available Gtk+ and Gnome widgets. For Gtk, 
  you can just look at testgtk; for Gnome, you have to read header files.
  Don't think memorize, you just want to know what exists and what code 
  might underly what you're seeing on the screen (GtkCList, GnomeApp,
  etc.) Also you want to know how the inheritance is organized.
- Look at some Gnome applications, and see how they work. gnomecal is a
  good model but perhaps complicated. I just wrote gless which is small
  and uses most of Gnome's main facilities. There are also some examples
  in gnome-libs.
- Write code. Only way to learn.

You don't necessarily have to do those things in order, of course.


Havoc Pennington ====

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