GnomeAmor
GnomeAmor es una iniciativa que pretende ayudar a las personas que quieren comenzar a contribuir en GNOME. Esta página ofrese una colección de enlaces a recursos utiles para un aspirante a desarrollador, "testers", documentadores o simples entuciastas de GNOME. |
Contenido |
Primeros Pasos
Introducción
La plataforma base de GNOME está desarrollada en Lenguaje C, siendo su librería base GLIB la cual comparte todas las características de su homologa en C LIBC, glib potencia la libc tradicional añadiendo nuevas y mejoradas funciones, como tratamiento de strings, listas, manejo de memoria, etc...
La librería de abstracción más baja a nivel gráfico es GDK, esta es la librería encargada de el dibujado de los objetos en la pantalla, sean ventanas, botones, cajas de texto, etc...
Luego para construir interfaces gráficas usamos la librería GTK+ la que nos permite crear ventanas, botones, texto y todo lo que necesitemos para nuestro programa.
A pesar de que todo el core esta escrito en C obtendremos una capa de orientación a objetos mediante GObject la cual nos permite programar OO en un lenguaje que no posee OO.
Lenguajes
Desde sus principios y a pesar de que el core de GNOME está escrito en C, podemos utilizar una amplia gama de lenguajes a la hora de desarrollar nuestras aplicaciones, es así como tenemos:
Cada uno de estos lenguajes (exceptuando C) poseen su correspondiente recubrimiento (binding) de la librería GTK+, así tenemos que:
C | GTK+ (nativo) |
Python | PyGTK |
C# | GTK# |
Perl | gtk-perl |
PHP | php-gtk |
Java | java-gnome |
C++ | gtkmm |
Librerías Base
Las librerías base que tenemos son:
- Glib: librería C standard, extendida.
- GTK: Toolkit
- Gdk: Manejo gráfico a bajo nivel.
- PANGO: Encargada de del manejo de textos.
- Cairo: Para el manejo de gráficos vectoriales (2D).
Librerías Extras
Además de las librerías base tenemos un set completo de librerías extras que proveen, intercomunicación de procesos, abstracción de hardware, multimedia, impresión, internacionalización, accesibilidad, sistemas de archivos virtuales, configuraciones, etc...
- CORBA, Bonobo: Creación y manejo de componentes reutilizables.
- DBUS, HAL: Abstracción de hardware.
- Gstreamer: Audio y Video.
- gnome-print, CUPS: Sistemas de impresión.
- gettext: Internacionalización y Localización.
- ATK: Discapacidades.
- GnomeVFS: Abstracción de sistema de archivos.
- GConf: Configuraciones.
Librerías Especiales
- libxml2
- libxslt
- Avahi
- libsoup: SOAP
- .desktop, MIME
- panel-applet
- libnotify: área de notificaciones.
- nautilus: manejador de archivos.
- metacity: manejador de ventanas.