Re: New Module Proposal. libseed



On Wed, May 13, 2009 at 20:38, Owen Taylor <otaylor redhat com> wrote:
> I wanted to provide some gnome-shell perspective here.
>
> In quick summary, we'd see including libseed in the GNOME-2.28 desktop
> set as a positive step toward heavier use of Javascript in GNOME in the
> future.
>
> Porting gnome-shell to Seed would certainly not be a big deal; I would
> sigh in regret over losing const and let and destructuring assignment
> (most over the last), but in the end, they don't determine the overall
> feel of programming with Javascript; or whether Javascript is a good or
> bad idea.
>
> (And conversely, if libseed didn't work out for some unforseeable
> reason, we could easily port GNOME modules using it to gjs post 2.28,
> with at most a week or two of feature work on gjs.)
>
> Quick comparison from my perspective between the two sets of systems:
>
> Spidermonkey: Mature, good API for extensibility. Nice language
>   extensions. (JS 1.7.) Mostly packaged as part of xulrunner, which is
>   a problem. Maintained by an organization that has a thorough
>   commitment to open source. (That doesn't mean that we have more
>   influence over the direction, necessarily, but is worth noting.)
>
> JavascriptCore: Newer, not used much outside of WebKit so far.
>
> GJS: Fairly limited set of features, but those that are there are
>   done well.
>
> Seed: More features, common features are quite compatible with GJS.
>   I'm not delighted with how GObject subclassing was done, but if we
>   have better proposals, we can certainly lobby and submit patches
>   to change things :-)
>
> (The big caveat from the above is that I haven't worked with Seed or
> JavascriptCore at all.)
>
> Speed comparisons just don't matter for anything we are doing, and it's
> not going to be long-term accurate either; what's faster now may not be
> faster in 6 months. I'm more concerned about garbage collection, but
> honestly both of the engines have garbage collectors that are tuned for
> web page usage and not for the desktop. From discussions with Rob
> earlier, Spidermonkey may have a slight lead in flexibility in this
> area.
>
> The more important differences really are:
>
>  - Alignment with HTML components in GNOME. The apparent trend towards
>   WebKit in Epiphany, Yelp, etc certainly gives a strong impetus to
>   going towards JavascriptCore and avoiding a Gecko dependency.
>
>  - Activity of maintainership. Rob and Tim are appear committed to
>   libseed as a GNOME component and interested in it as a project
>   in its own right. The people at litl have done a good job with
>   gjs, but the work that they do on it is features that their code
>   needs. The work that we've done it from the gnome-shell side
>   are features that gnome-shell needs.
>
> Are we going to switch gnome-shell to libseed if it gets accepted as a
> desktop module for 2.28. Not sure - it certainly would make it simpler
> to compile gnome-shell as an add-on to a 2.28 distribution of GNOME. On
> the other hand we're more comfortable with the gjs/SpiderMonkey codebase
> at this point, and moving over might not be a good use of time.
>
Robert has offered to do the porting so that should not really eat up
time. You only need to get used to libseed a bit after the port has
been committed. To me that sounds like a fair price to pay.

Jaap


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