2012-03-12 11 views
9

todo lo que necesito una ventana para alojar webkit y/o driro cairo, pero tengo que lidiar con todo eso primero para entender lo que estoy haciendo.GObject Gtk, Gnome, Gtk +, Gl, Gtk2, Gtk3 ... ¿No entiendo?

ahora. Estoy perdido y no entiendo más de qué se trata todo eso.

y las cosas empeoran cuando intento trabajar con encuadernación o intentar averiguar cuáles son las dependencias de algo. por ejemplo: en Python, PyGTK desaprobó y se sustituyó por PyGObject (a veces llamado pyGl !!)

hay muchos sitios, muchas descargas y versiones, las referencias obsoletas y las nuevas mixtos, pero no un punto de vista arquitectónico de todo el asunto.

lo que no entiendo ... ¿cómo se mezclan todas estas cosas en demasiados sitios, paquetes y versiones?

+1

Esta es una queja más que una cuestión real, estoy votando a cerrar. PD. vista arquitectónica de todo el asunto: http://developer.gnome.org/platform-overview/stable/ – ptomato

+0

exactamente, y ¿qué gnome tiene que ver con gtk? gnome es "entorno de escritorio" que usa gtk y otros ¿no? ok, si existe algo llamado "plataforma gnome", desde donde puedo descargarlo? Si no te gusta algo en esta pregunta, te agradecería que lo edites y lo reescribas en tus términos. – KA1

+0

@ptomato, más como un grito de ayuda. La pila * puede * ser desconcertante. – ergosys

Respuesta

16

El cuento:

Si está programando para GTK 2, utilice pyGTK.

Si está programando para GTK 3, use pyGObject.

La larga historia:

Por lo que entendí, pyGTK se basó en PyGObject. GObject es la API "objeto" de GTK. GTK está desarrollado en C, que no es un lenguaje orientado a objetos. GObject es una biblioteca que proporciona instalaciones avanzadas orientadas a objetos. Todos los objetos GTK heredan de la clase GObject proporcionada por esa biblioteca.

Luego vino el trabajo de GObject-introspección. Su objetivo era facilitar el mantenimiento de enlaces y utilizar anotaciones de código fuente para generar automáticamente la mayor parte del código de enlaces para cada idioma (python, C++, etc.). Esto dio como resultado el lado python en pyGI, las vinculaciones python basadas en el trabajo de introspección GObject. Fue entonces cuando se les dijo a las personas que lo usaran para el desarrollo de GTK3.

Desde entonces, el trabajo GObject-introspection una vez proporcionado por pyGI se ha integrado en GObject. pyGObject finalmente se convirtió en lo que los desarrolladores deberían usar para el desarrollo de python en GTK3.

Lea:

Acerca de la relación de GNOME/GTK:

GTK es el conjunto de herramientas utilizadas por el proyecto GNOME. Se ha extraído del GIMP, de ahí su nombre (GTK significa: GIMP Tool Kit). GTK es una parte central del proyecto GNOME, y los desarrolladores de GTK a menudo también están involucrados en el proyecto GNOME.

11

Mi comprensión de aquellos componentes que usted ha mencionado:

Dependency chain of the components mentioned in the question, in GNOME 2

Dependency chain of the components mentioned in the question, in GNOME 3