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 [email protected] http://mail.gnome.org/mailman/listinfo/desktop-devel-list ===========End of original message text===========
_______________________________________________ desktop-devel-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/desktop-devel-list
