Bonobo y CORBA
Nótese que Bonobo, libIDL y ORBit están obsoletas, en su lugar se usan D-Bus y otras tecnologías. Vea más información encima.
Bonobo es un «framework» para crear componentes reusables para su uso en aplicaciones. Construido sobre el estándar de la industria Common Object Request Broker Architecture (CORBA), Bonobo proporciona todos los interfaces comunes requeridos para crear y usar componentes con un comportamiento apropiado para las aplicaciones de GNOME.
Los componentes Bonobo se puede usar en una variedad de situaciones, y pueden ayudar a crear software flexible y extensible. Por ejemplo, un componente para mostrar contenido multimedia podría empotrarse en un procesador de textos, añadiendo soporte multimedia efectivo al procesador de textos sin que el procesador de textos trabaje directamente con él. Los componentes Bonobo también se usan para empotrar las miniaplicaciones en el panel de GNOME. Usar Bonobo permite a las miniaplicaciones comunicarse de una forma efectiva con el panel, proporcionando a los usuarios un interfaz consistente.
Los componentes Bonobo no se limitan a controles gráficos. Evolution, la suite de correo y groupware de GNOME usaba Bonobo para proporcionar acceso a los usuarios a la libreta de direcciones y al calendario. Esto permite a los usuarios mantener toda su información en un sitio mientras que todas las aplicaciones pueden acceder a ella.
Bonobo está construido sobre CORBA, permitiendo que los componentes se ejecuten en procesos separados. Los componentes se pueden escribir en diferentes lenguajes y ejecutarse sobre diferentes tiempos de ejecución; sólo necesitan implementar un interfaz especificado con IDL (Interface Definition Language). El diseño flexible de CORBA incluso permite que los componentes se ejecuten en distintos equipos de una red.
GNOME proporciona con ORBit su propia implementación ligera y rápida de CORBA. Las herramientas y bibliotecas proporcionadas con GNOME permiten que los componentes estén escritos en C, un lenguaje habitualmente excluido por otras implementaciones de CORBA. ORBit es una implementación de CORBA increíblemente rápida.
Bonobo ayuda a rellenar los huecos en CORBA proporcionando los interfaces adicionales y especificaciones necesarias para soportar componentes consistentes. Aunque rara vez necesitará usar CORBA sin Bonobo, se puede usar directamente. Por ejemplo, la la infraestructura de accesibilidad de GNOME usa CORBA para permitir a las tecnologías de asistencia inspeccionar e interactuar con las aplicaciones en ejecución.
Puede querer usar Bonobo para proporcionar componentes gráficos complejos que puedan ser empotrados en aplicaciones. No obstante, para necesidades CEP, las tecnologías de GNOME se están moviendo a D-Bus, ya que integrar D-Bus en las aplicaciones es considerablemente más fácil.
Para obtener más información acerca de Bonobo, consulte El manual de referencia de libbonobo y El manual de referencia de libbonoboUI. Para obtener más información acerca de ORBit, la implementación de CORBA de GNOME, consulte El manual de referencia de ORBit2.