[opensource-dev] Eclipse Guru's
Ambroff Linden
ambroff at lindenlab.com
Thu Mar 4 21:59:53 PST 2010
On Thu, Mar 4, 2010 at 6:26 PM, Morgaine <morgaine.dinova at googlemail.com>wrote:
> Ambroff, adding a specialized interface just to support an IDE is a very
> bad idea.
I think in general you are right, I was mostly just throwing it out as a
half-baked thought. You still have to build a sane object model in the
viewer before a plugin system makes much sense at all though, and whether
that object model is exposed via a plugin system or D-Bus[1] doesn't seem to
make much of a difference. They aren't that much different in terms of
effort.
This is why we were discussing generic client-side scripting here last
> month, both for viewer extensions and for world enhancement<https://lists.secondlife.com/pipermail/opensource-dev/2010-February/000173.html>.
> There is quite of lot of history in this area among viewer developers
> already, as various groups have been examining the issue.
>
> In AWG we looked at the general area of refactoring viewer functionality in
> the Multi-Process Client<https://wiki.secondlife.com/wiki/Multi-Process_Client_VAG_--_draft>concept, way back, which split everything into communicating plugins. Two
> or three 3rd party viewer teams (notably Emerald) experimented with an
> embedded Lua console, so they have some experience with language VM
> interfacing to a viewer API. And in Imprudence, we spent some months
> designing a language-agnostic plugin system<http://imprudenceviewer.org/w/images/4/48/Plugin_system_flow_APIs.png>that allows plugins to be written in any language that supports sockets,
> using JSON as the lingua franca for communicating with viewer API functions
> and callbacks -- see the threads labeled "[Plugins]" in the Imprudence
> Forums <http://imprudenceviewer.org/forums/viewforum.php?f=7> for more
> details. We even tested the limiting bandwidth and latency for such a
> plugin system just to be sure that we were on solid ground.
>
Interesting, I'll have to catch up on this. At a high level parts of the
language-agnostic plugin system appears to be very similar to D-Bus, which
is already very mature and is sort of cross-platform[2]. Did you evaluate
existing IPC systems before designing this one?
-Ambroff
[1] Or whatever the Windows or Mac OS equivilant are.
[2] I think the Windows support is pretty Immature.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/opensource-dev/attachments/20100304/4ecdc221/attachment.htm
More information about the opensource-dev
mailing list