On Wed, May 13, 2009 at 20:38, Owen Taylor <[email protected]> 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 _______________________________________________ desktop-devel-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/desktop-devel-list
