Re: New Module Proposal: libseed



Some of these points are addressed in other emails, however I will reply
here also for clarity.

The reasons I would choose to use Seed over gjs (if hypothetically I were 
not the maintainer).

1. WebKit, epiphany/devhelp, etc...and most (hopefully all!) GNOME
modules switching to WebKit, so not bringing in/keeping the Mozilla
dependency is nice. Also JavaScriptCore is MUCH faster than SpiderMonkey
and still often around twice as fast as TraceMonkey. This is a rather
important one, as say gjs would not be an option for epiphany-webkit
extensions obviously (and epiphany seems to be very interested in
migrating to JS extensions, I should be able to say more on this in a
week or so).
2. GObject Subclassing, property/signal installation, and blocking on a
GObject introspection bug implementing GObject interfaces/abstract
methods. All of these are very useful things.
3. libffi to generate native closures to functions which expect a C
function pointer and do not have a GClosure equivalent, makes a lot more
of the GOBject-library-world-accessible.
4. A nice struct literal syntax, which again, makes writing code convenient.
5. LOTS of corner cases fixed I believe. After GNOME summit, and the
first release of Seed, I included all the fixes I could find from GJS,
etc...but there have been dozens of bug fixes since then, which I believe 
probably effect GJS, and I have not ported. But don't take this statement 
too heavily as I do not follow GJS development that actively.
6. Large set of examples, a few dozen examples ranging from trivial
(setting up a GtkMenuBar/menu with action groupsm or how to monitor the
current directory with GIO), to slightly less trivial (A WebKit browser
with sqlite bookmarks/a simple poppler PDF viewer/a simple Gnio network
server). To some more complicated ones, including lightsoff which as I
mentioned is actually now part of gnome-games. In addition Seed has a
nice tutorial aimed at people not too familiar with GObject, and some
runtime documentation covering how the bindings work (aimed so people
familiar with GObject can translate from C documentation). I don't think
GJS has anything like this.
7. A C API which does not leak the internal JavaScript engine API, and
should be much more familiar feeling to GObject developers, enabling
easier embedding and development of C extensions. 
8. Lots of little niceties. Ranging from some Gio convenience stuff (soon 
to be a full set of custom bindings to make things prettier), or a C
extension HTML Canvas implementation (on top of Cairo contexts), which
lets people do vector graphics until proper cairo bindings can exist
through -introspection.
9. Within the next few days I hope to release a Vala compiler plugin,
which allows transparent Seed integration (and automatic type conversion
between Vala/JS objects), and this should be very cool.

Thanks,
Robert

==============Original message text===============
On Tue, 06 Jan 2009 9:32:45 EST Vincent Untz wrote:

Le lundi 05 janvier 2009, à 22:12 -0500, Robert Carr a écrit :
> I was not planning to do this until .28, however a nice Clutter game
> written in Seed was merged in to gnome-games today, and there is some
> interest in being able to include this in .26.
> 
> I would like to propose Seed (http://live.gnome.org/Seed) as a beta> -bindings module for .26 

The obvious question is: how is seed better than gjs (and vice-versa)?
Is there any hope that they could be somewhat compatible?

Vincent

-- 
Les gens heureux ne sont pas pressés.
_______________________________________________
desktop-devel-list mailing list
desktop-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list
===========End of original message text===========





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