Re: Kparts and Bonobo..



hi weiqi, Erik,

I do not think this email is subscribed to the mailing list so  you'll
receive it without seing ont he mailing list probably...

KParts and Bonobo have folowed two very different design process.

Bonobo and KParts need to provide a way to communicated between
different processes. Bonobo decided to use CORBA to do that. KParts
decided to avoid interprocess communication because these are inherently
slower than in-process communication. 

So, basically, KParts components are dynamic libraries (ie: plugins)
which export a number of interfaces and Bonobo components are out of
process CORBA servers.

Now, on top of this CORBA framework, Bonobo defines a number of
interfaces to implement to provide graphical embedding and more
generally the functionality of OLE on windows. That is, composed
documents. I think KParts defines only the graphical embedding part
(composed documents need much more than mere graphical embedding: you
need to be able to ask the embedded components to save themselves in the
embedding application's file ... and so on... Lots of complex tasks).

Basically, KParts was specifically designed to be a lightweight
in-process graphical component framework. It has a number of issues (in
my opinion) such as the use of completely non-standard technologies
which are often reinventions of existing technologies. 

So, my personal opinion is that Bonobo is a more mature and standard way
of doing composed documents on UNIX/X systems.

BUT: On the whole, I think neither Bonobo nor KParts can be used as COM
is used on windows: that is, as an ominicient component model. Bonobo is
too heavy to be used for fine-grained objects while KParts is too
specific to its own application domain to be used in other domains (I'd
like to be proven false though. Any intelligent comment is appreciated.
:)

Please, see comments interspeced below.

On ven, 2001-09-14 at 15:28, Weiqi Gao wrote:
> On Fri, 2001-09-14 at 02:56, Erik Bågfors wrote:
> > 
> > At dot.kde.org you can find a link to a document about KDE components.
> > In that document they explain why Kparts is good and why corba and
> > of course bonobo if bad for a desktop.  
> 
> Anybody who tells you CORBA is bad is bound to spend three years to
> reinvent CORBA.  They'd be lucky if what they come up with is anywhere
> near the versatility of CORBA.

CORBA's versatility is not always needed.

> 
> > So.  I would like to know alittle more about the differences between
> > the component-systems.
> 
> KPart is not a component system.  So you cannot compare it with Bonobo.

KParts IS a component system.

> 
> > I'm sure that both systems are great technology and I'm not trying to
> > start a flame-war.
> 
> You do realize that you are starting a flame war, don't you?  Why do
> people lie to themselves?

Do you understand YOU are  starting a flamewar ?

> 
> > I wanted to ask this question before this article but never got around
> > to do it.
> > 
> > I know next to nothing about KParts and a little more about bonobo but
> > not a whole lot there either.
> 
> The best way to learn Bonobo is to learn two things: COM and CORBA. 
> 
> Excellent books on the subject of CORBA abound.  My recommendation would
> be Michi Henning and Steve Vinoski's "Advanced CORBA PRogramming with
> C++" and Gerald Brose, et al. "Java Programming with CORBA".  Both books
> explain what CORBA is very well.  Although they emphasize on the C++
> binding and the Java binding respectively, both books contain many
> chapters on the overall architecture of CORBA as well as the IDL and the
> base objects that are applicable to the C binding that is offered by
> ORBit, the ORB GNOME uses.  To pick up the C binding, go directly to OMG
> (http://www.omg.org) and grab the C binding spec.
> 
> The book to read on COM is Don Box's "Essential COM".  Again, not
> everything is applicable to Bonobo.  But the spirit is there.

I have to agree: both of these books are excellent and provide a great
introduction to CORBA and COM.

> 
> > It seams like the documentation for
> > KParts is a little bit better than the documentation for bonobo.
> 
> Some of the Bonobo documentations and tutorials are a bit dated.  But
> since Bonobo uses two well established technologies, you can pick it up
> quickly even with these documentations.
> 
> KParts, on the other hand, was invented haphazadly to make one thing
> happen.  Yes, you can learn it quickly through one tutorial.  But pretty
> soon you will realize that that isn't all.  You have to learn something
> else that they invented to solve another problem.  And then another
> thing, and then another thing.  While existing technologies would have
> solved all of their problems.
> 
> > I'd love to see a "convert your program to a component"-tutorial for
> > bonobo like there is a short one for Kparts.
> 
> There is a Bonobo controls tutorial available from the GNOME CVS.
> 
> > Anyway.  Like I said, I'm not trying to start a flame-war, I'm just
> > curious :)
> 
> Learn CORBA.  Learn COM.  Forget KParts (It jsut doesn't apply
> elsewhere, and I doubt you can find a job doing KParts).

I am not sure you can really find a job doing Bonobo either...

> 
> And you started the flame war!
> 

*sigh*.

I hope this helps,

Mathieu





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]