On Thu, Mar 4, 2010 at 6:26 PM, Morgaine <morgaine.din...@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.
_______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/OpenSource-Dev Please read the policies before posting to keep unmoderated posting privileges