Re: New GObject Introspection tutorial

Hi Simon,

On Thu, 2013-06-13 at 08:54 +0200, Simon Kågedal Reimer wrote:

I've written a tutorial on how to make a basic multilevel "Hello
World" using GObject Introspection:

Cool.  A few high level comments:

Do you think it's worth keeping the executable binary introspection
model first?  If one is designing for introspection, the library
model is significantly better.  We will need to support it
for a variety of reasons; for example, mutter is a fork of metacity
which due to a long history is not a shared library, though we've been
incrementally moving it in that direction over time.

Because one can't pick *multiple* interpreters to run simultaneously,
it's better to make the native code a library, and have the toplevel
be scripted.

Second, it's probably worth going into functionality available
directly via existing libraries such as Gio, and mention how that's not
a special case - your new shared library works the same way GLib/Gio

It's written in Mallard; the markup is in a git repository at

We should think about adding this kind of thing to the main page somehow.  It'd need someone who knows
how that page works to assist.  Frederic?

There's a fine tutorial on this subject at the Gnome Live wiki, but
there were a few things I thought should be different. It uses
Clutter, which I think gets in the way if you're not already familiar
with that library; I couldn't get it to build since my system has
Clutter 1.0 and the tutorial uses 0.8. I also think it's preferable to
show the build steps such as g-ir-scanner instead of using a build
tool (waf) not all readers will be familiar with, and to not rely so
much on git.

Yeah, sorry about the waf thing, I plead temporary insanity[1].  It's
probably worth describing Makefile.introspection at least though (which
should work without Automake too).

[1] Not that waf is bad exactly, we just have in GNOME significant
    investment in the autotools, and it wasn't very helpful
    to use an entirely different buildsystem for the tutorial.

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