Re: New Module Proposal. libseed
- From: Havoc Pennington <havoc pennington gmail com>
- To: Robert Carr <carrr rpi edu>
- Cc: desktop-devel-list gnome org
- Subject: Re: New Module Proposal. libseed
- Date: Wed, 13 May 2009 18:31:46 -0400
Hi,
fwiw, I think there's actually a (reasonably) sane way to support
multiple JS engines, which we've discussed.
The practical path is:
* have same module system for both engines (done, thanks to robert)
* ideally, add "let" support to webkit (which would be good anyway)
* add to gnome-js-common the written-in-JS modules from seed and gjs
* add to gnome-js-common the test suite for said modules, which is
fairly thorough
Basically the point is to have a common set of modules written in JS,
and a common test suite. And then gjs and seed separately provide the
native code stuff, but having to pass the same test suite.
To make it practical, the gnome-js-common stuff would have to support
selectively disabling stuff that wasn't implemented for one runtime or
the other yet.
Anyway, I don't know if anyone will do this, but I don't think it's
that challenging, and it has some positives. It has some downsides
also.
The biggest positive in my mind is basically that open source projects
tend to be a lot better if more people use them, and there are reasons
for people to choose various JS engines, and no real reason to
implement something like the dbus bindings separately for each. I
think Seed has benefited quite a lot from sharing code like the module
system and dbus bindings from gjs. But right now seed takes that stuff
and then forks it off, there isn't a common upstream place to put
code.
One negative is that it's extra work, and another is that new
contributors might not know which runtime to choose; though if they
are compatible, maybe that isn't a huge deal anyhow.
gnome-js-common could be the right decision even if gnome includes
only one of the runtimes, just to get more people hacking on the suite
of JS modules.
Havoc
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]