Re: Scaffold, plugins and language independence
Mikoyan <[email protected]>
| Newsgroups | gmane.comp.gnome.devtools |
|---|---|
| Message-ID | <[email protected]> |
On Mon, 2004-02-09 at 15:51 -0500, John (J5) Palmieri wrote: > On Mon, 2004-02-09 at 14:51, Bart Van Rompaey wrote: > > On Mon, 2004-02-09 at 13:13, Christian Leutloff wrote: [ .. snip ... ] > > So I thought communication between plugins in those different languages > > and the "core" could be done using Corba/Bonobo, since all those > > languages have libraries for this. The core can be further developed in > > glib c, and can keep using gdl, gnomebuild, ... . This way, you can > > provide the largest possible freedom to the plugin writer too. > > We dropped Corba/Bonobo for the simplicity of developing with GModules. > The old plugin system relied heavily on Corba/Bonobo which turned a lot > of plugin writers off. Interfaces may later be wrapped in Corba/Bonobo > bindings but for now a nice C interface with Python bindings seems like > the path of least resistance. Even the Glade-3 developers have frowned > on using Bonobo and instead wanted a modularized C API. I do not pretend to have *the knowlegde*, so I may be wrong with I'm saying here. But GModule is only usable for C and C++ (using export C) plugins. I think GModule and GInterfaces are indeed easier for the plugin writer if the plugin writer is a C/C++ developer. I still do not see how a python plugin would be loaded by scaffold... It may be possible, but I don't know one. Please enlighten me. The only way I see, is a C plugin invoking a python program. Suboptimal, to say the least. Corba/Bonobo is *not* hard. Their is just a sheer lack of documentation. The biggest problem of GNOME. I could start a preach here, but I won't. That in combination, with a sheer lack of expertise among the gnome community, makes bonobo hard. Let's change that :-) But it is a fact that Corba/Bonobo from python is quite easy. Actually, i think it's even beautiful. (think: automatic stub and skell generation at runtime when loading the idl, sigh, do I sound biased?). I don't see why it shouldn't be used. I've used the gedit component in one of my thesis related prototypes, using bonobo in python. If the thing was probably documented, I had written that code in no time. (Take that almost litterly). As Bart once said: "if something is probalby documented, it does need to scare anyone". :-) Even in C things like BonoboListener and BonoboEventsource, a possible system for communciation between components, cannot be called hard. But as I said, GModule would fit beter here, I guess. Only my 2 €-cents of course :-) Mikoyan