New Module Proposal. libseed



Once again, I would like to propose Seed as a GNOME bindings module for 2.6.28.

For those not familiar, Seed is a bridge between the GNOME Platform,
and WebKit's JavaScriptCore interpreter.
 Seed provides a standalone interpreter, and a C API for embedding
Seed as a scripting/extension language
in an application. Through GObject-introspection Seed provides
bindings to the vast majority of the GNOME platform,
and through various C modules written against the API, Seed provides
bindings to DBus, readline, etc.
I would suggest reading http://live.gnome.org/Seed, or digging up some
of the prior release announcements if
anyone has more questions on the basic premise.

Seed will require no new external dependencies (assuming WebKit GTK is
approved as an external dependency for 2.28).
Seed uses GNOME GIT, FTP, and bugzilla. This will also require
GObject-introspection to become part of the platform
however (as I understand?) that is part of the plans for .28.

In the prior discussion, there was a lot of discussion as to GJS v. Seed.
 Since then, compatibility between the two has improved a lot, notably
with Seed adopting GJS's imports system.
At this point, most GJS code could be pretty easily ported to Seed.
Porting Seed code
to GJS might be a bit more difficult, due to some things like Seed
making pervasive use of GObject.
It is more or less possible to write code to a "least common
denominator" of the two.
In addition I believe it would be possible to port GNOME Shell to
Seed, with no more than a few days work.

There has been talk (and likely soon work) towards setting up a
gnome-js-common module,
 with a test suite, and sharing things such as parts of the dbus bindings.

Seed has an increasing (and fairly respectable) amount of documentation,
temporarily hosted at http://www.gnome.org/~racarr/seed/. Including dozens of
examples for many parts of the GNOME platform, and tutorial/reference style
documentation.

So far, Seed adoption is still somewhat light. Epiphany-webkit in GIT
contains a system for writing
extensions in Seed, which seems to be working fairly well. In addition
GNOME-games contains
lightsoff, a Clutter game written in Seed. Same GNOME is also likely
to be replaced with
something based off the same-seed example, over the 2.6.28 cycle (work
on GNOME-games and
Seed is occurring as part of
http://socghop.appspot.com/student_project/show/google/gsoc2009/gnome/t124022402774
).

In addition, I would be interested in helping application developers
add a Seed extension system to their application,
as generally something can be set up with around a days work.

Thanks,
Robert


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