SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
GNOME - Un vistazo a su
    arquitectura
      Mauro Parra-Miranda
    mauro@masutostudios.com
Índice
• ¿Qué es GNOME?
• Componentes
• Aplicaciones
• Testing
• Futuro
• Links
¿Qué es GNOME?


¡NO es un habitante del
       bosque!
¿Qué es GNOME?
• GNOME - GNU Network Object Model
  Environments
• Comenzó en 1997. Miguel de Icaza y
  Federico Mena lo comenzaron
  (estudiantes de Fac. de Ciencias, UNAM)
¿Qué es GNOME?
• Proveé un escritorio completo libre y grátis
  que para GNU/Linux.
¿Qué es GNOME?
¿Qué es GNOME?

• ¿Por qué no usar KDE?
  KDE está basado en la biblioteca QT.
  Históricamente, la licencia de QT no era tan
  libre como se hubiera querido.
• Escrito en C++.
¿Qué es GNOME?

• GNOME esta basado en GTK.
• GTK está escrito en C.
• Con licencia LGPL - más libre, aprobada por
  la GNU Software Foundation.
• GTK ya se usaba en GIMP, por lo que era
  una biblioteca probada y conocida.
GNOME es...

• Para usuarios - un escritorio completo libre,
  grátis y fácil de usar.
• Para desarrolladores - un poderoso
  “framework” de desarrollo.
• Más información -
  http://www.gnome.org/about/why.html
GNOME es...
Componentes

• GTK+ (Gimp toolkit) - Un toolkit gráfico
  basado en C, utilizado para crear la parte
  visual de GNOME. http://www.gtk.org
  Soporta varios lenguajes: Ada95, C++, Dylan,
  Eiffel, Guile, Haskell, JavaScript, Objective C,
  Objective CAML, Objective Label, Pascal,
  Perl, Pike, Python y TOM. Tal vez más.
Componentes
• Accessibility framework - herramientas para
  dotar de opciones de accesibilidad a tu
  aplicación - lupa, lector de pantalla, soporte
  para doble click lento.
• ORBit - implementación ligera de CORBA
  Object Request Broker (ORB).
• Bonobo - Biblioteca de soporte para la
  arquitectura de componentes de GNOME.
  Similar a la tecnología OLE de windows ;-)
Componentes
• GConf - un sistema distribuido de
  configuración, lo hace especialmente fácil
  cuando los componentes pueden ser
  incrustrados, distribuidos o ambos ;-)
• glib - una biblioteca portatil escrita en C
  para crear y manipular estructuras de datos
  - como listas, arboles, hash.
• gdk-pixbuf - una biblioteca de manipulación
  de imagenes.
Componentes
• libgnomeui - biblioteca con código
  relacionado con la UI (interfaz de usuario) de
  GNOME
• libgnome - biblioteca de todo lo que no es
  relacionado con la parte grafica de GNOME.
• gnome-print - biblioteca con las rutinas para
  imprimir.
• libxml - biblioteca para manipulación de XML.
Componentes

• gnome-vfs - Sistema virtual para
  manipulación de sistemas de archivos y
  otros medios, como ftp, ssh, etc. De tal
  forma que desde Nautilus puedes
  conectarte a sistemas remotos por via de
  ftp, samba, ssh, etc y manipularlo como si
  fueran locales.
+Detalles
• GLib
 • Tipos basicos, macros.
 • Soporte para loops
 • Threading, cadenas, scanner, parser para
    xml, etc...
  • Listas ligadas, tablas de hash, arboles, etc.
  • Portable, conveniente, usable.
+Detalles
• Gobject
 • Sistema de tipos generico
 • Implementaciones fundamentales del tipo.
 • Sistema de signals y notificaciones
 • Sistema de parametros/valor.
 • Facil de mapear. Proporcionar orientación
    a objetos encima de C.
+Detalles
• Pango
 • Sistema para manejo y graficación de
    lenguajes internacionales
• ATK
 • Interfaces para la accesibilidad
 • GAIL es la implementación de ATK para
    GTK.
+Detalles

• GDK - Gimp Drawing Kit
 • Un envoltorio para las operaciones de
    bajo nivel de dibujo, como seria Xlib, en el
    caso de Xwindow
 • Fácil de portar a otros sistemas de
    ventanas.
+Detalles

• GDKPixBuf
 • Cargar imagenes con su propio cargador.
 • Manipulación de la imagen en el lado del
    cliente (en la memoria)
 • Remplaza imlib.
+Detalles
• GTK+ - Gimp Tool Kit
 • API orientada a objetos encima de C.
 • Funciona en varios lugares - Sistemas tipo
    unix (X-Window), Windows, Mac,
    Consola, sistemas con framebuffer.
  • Multitud de widgets:
    Basicos: GtkEntry, GtkButton...
    Layout: GtkBox, GtkTable, etc.
    Complejos: TreeView, TextView, etc.
    Dialogos comunes: File/Font/Color/Input
    Menu/Toolbar basado en acciones.
+Detalles

• GTK+ tiene soporte para distintos
  “themes”.
• GTK+ es LGPL
• GTK+ corre en Win32, DirectFB, OSX,
  Consola.
Modelo de
• Bonobo    componentes
 • Interfase con IDL de CORBA
 • Envoltorios para C.
 • Implementación con cualquier lenguaje.
• Asiste en la implementación de...
 • Componentes
 • Controles
 • Soporte para componentes en
    documentos.
Modelo de
           componentes

• ORBit
 • Implementación de CORBA con mapeo
   de C con la specificación 2.2 de CORBA.
Bibliotecas de GNOME

• GNOME VFS
    • Encapsula la funcionalidad de un
        sistema de archivos de tal forma que
        tienes una sola interface y varios
        drivers que conectan con otros
        sistemas de archivos; es decir, para ti
        da lo mismo si te conectas a archivos
        locales, HTTP, FTP, WebDAV, NNTP,
        etc.
Bibliotecas de GNOME


• GNOME Canvas
    • Widget para crear objetos
       personalizados, con tu propias
       graficas, texto, etc.
     • Originado por el port de Tk Canvas.
Bibliotecas de GNOME

• GNOME Print
 • Extensión de GNOME canvas a la
    impresora.
• GConf
 • Administra la configuración en una forma
    de árbol (Piense en el registro de
    windows)
Bibliotecas de GNOME
• GNOME DB
 • Una arquitectura libre para accesar datos
    ordenados.
  • libgnomedb/libgda
• GStreamer
 • Framework multimedia.
 • Estructura grafica de pipelines multi-
    thread.
Bibliotecas de GNOME

• libglade - crea la interface de usuario desde
  un archivo XML, en tiempo de ejecución
  (.glade)
• libxml2/libXSLT - GNOME-XML - parser de
  XML, toolkit. Todo escrito en C.
• gtkhtml - visualizador de html.
Ejemplo
  /*
  A sample GNOME program
  */

  #include <gnome.h>
  int main(int argc, char *argv[ ])
  {
  GtkWidget *ghosh;
  gnome_init("sample", "0.1", argc, argv);
  ghosh = gnome_app_new("sample", "My Window");
  gtk_widget_show(ghosh);
  gtk_main();
  return 0;
  }

$ gcc myapp.c -o myapp `gnome-config --cflags --libs gnomeui`
Aplicaciones de
                   GNOME
http://en.wikipedia.org/wiki/List_of_GNOME_applications




        http://www.gnomefiles.org/
Testing GNOME
Testing GNOME
• http://live.gnome.org/Bugsquad
 • No necesitas ser experto.
 • Puedes simplemente quejarte - Y levantar
    un reporte de bug.
 • Asistir a los dias de “caza de bugs”.
 • Obtener builds calientitos -
    http://live.gnome.org/BuildBrigade
Testing GNOME
• Para el fácil testing:
 • Baja Virtualbox - http://virtualbox.org
 • Busca una máquina virtual (appliance)
    prehecho con la versión de GNOME que
    quieres probar (use the google, luke!)
  • Prueba y envia bugs, sin afectar tu
    ambiente de producción.
  • Usa Garnome:
    http://www.gnome.org/projects/garnome/
Futuro de GNOME
Links
• GNOME developer resources - http://
    www.sun.com/software/star/gnome/
    developer/index.xml
• GNOME Architecture - http://
    www.slideshare.net/iolo/gnome-
    architecture?nocache=753
• Gnome Applications - http://
    en.wikipedia.org/wiki/
    List_of_GNOME_applications
•   http://library.gnome.org/devel/gtk-tutorial/stable/
Masuto Studios
       Mauro Parra-Miranda
     mauro@masutostudios.com
http://masutostudios.com/ciencias09

Contenu connexe

Tendances

Akademy es2010 kde_i10n_albert_astals
Akademy es2010 kde_i10n_albert_astalsAkademy es2010 kde_i10n_albert_astals
Akademy es2010 kde_i10n_albert_astalsAkademyEs2010
 
Solapas principales Ver(solapa activa) Editar Gestionar present...
 Solapas principales      Ver(solapa activa)     Editar     Gestionar present... Solapas principales      Ver(solapa activa)     Editar     Gestionar present...
Solapas principales Ver(solapa activa) Editar Gestionar present...Software Guru
 
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Restorando
 
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Modernowpargentina
 
nerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopnerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopRestorando
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualizaciónMarcelo Ochoa
 
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018Vicente Gerardo Guzman Lucio
 
Internet y navegador web
Internet y navegador webInternet y navegador web
Internet y navegador webKAREMDEDIOS
 
Introduccion a kata containers
Introduccion a kata containersIntroduccion a kata containers
Introduccion a kata containersJulioMontes23
 
Buildout: Crear y desplegar entornos reproducibles en Python
Buildout: Crear y desplegar entornos reproducibles en PythonBuildout: Crear y desplegar entornos reproducibles en Python
Buildout: Crear y desplegar entornos reproducibles en PythonCodeSyntax
 
Manejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmManejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmMario IC
 

Tendances (20)

Akademy es2010 kde_i10n_albert_astals
Akademy es2010 kde_i10n_albert_astalsAkademy es2010 kde_i10n_albert_astals
Akademy es2010 kde_i10n_albert_astals
 
Solapas principales Ver(solapa activa) Editar Gestionar present...
 Solapas principales      Ver(solapa activa)     Editar     Gestionar present... Solapas principales      Ver(solapa activa)     Editar     Gestionar present...
Solapas principales Ver(solapa activa) Editar Gestionar present...
 
Samba en Centos 7
Samba en Centos 7Samba en Centos 7
Samba en Centos 7
 
Fury - Docker Meetup
Fury - Docker MeetupFury - Docker Meetup
Fury - Docker Meetup
 
Linux Terminal Server
Linux Terminal ServerLinux Terminal Server
Linux Terminal Server
 
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
 
Uso de yum
Uso de yumUso de yum
Uso de yum
 
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
 
nerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopnerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshop
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualización
 
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
 
Internet y navegador web
Internet y navegador webInternet y navegador web
Internet y navegador web
 
Introduccion a kata containers
Introduccion a kata containersIntroduccion a kata containers
Introduccion a kata containers
 
Buildout: Crear y desplegar entornos reproducibles en Python
Buildout: Crear y desplegar entornos reproducibles en PythonBuildout: Crear y desplegar entornos reproducibles en Python
Buildout: Crear y desplegar entornos reproducibles en Python
 
Herramientas de Back-End
Herramientas de Back-EndHerramientas de Back-End
Herramientas de Back-End
 
Mis comandos favoritos en linux parte 3
Mis comandos favoritos en linux parte 3Mis comandos favoritos en linux parte 3
Mis comandos favoritos en linux parte 3
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Manejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmManejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con Helm
 
Conceptos avanzados en docker
Conceptos avanzados en dockerConceptos avanzados en docker
Conceptos avanzados en docker
 
Pechakucha escritorio remoto
Pechakucha escritorio remotoPechakucha escritorio remoto
Pechakucha escritorio remoto
 

En vedette

Cómo colaborar en GNOME
Cómo colaborar en GNOMECómo colaborar en GNOME
Cómo colaborar en GNOMEJuanjo Marin
 
Presentación computación 1_compiladores_e_interpretes
Presentación computación 1_compiladores_e_interpretesPresentación computación 1_compiladores_e_interpretes
Presentación computación 1_compiladores_e_interpretesMichael Vreys
 
Como volverse un Hacker feliz de GNOME
Como volverse un Hacker feliz de GNOMEComo volverse un Hacker feliz de GNOME
Como volverse un Hacker feliz de GNOMEJuan Percy Rojas Cruz
 
Compilación del Kernel
Compilación del KernelCompilación del Kernel
Compilación del KernelJuan Sánchez
 
Introducción a compiladores
Introducción a compiladoresIntroducción a compiladores
Introducción a compiladorespilar menacho
 
Comprendiendo gnome
Comprendiendo gnomeComprendiendo gnome
Comprendiendo gnomeJuanjo Marin
 
Nucleo o kernel de Linux
Nucleo o kernel de LinuxNucleo o kernel de Linux
Nucleo o kernel de LinuxJhon TRUJILLO
 

En vedette (11)

Cómo colaborar en GNOME
Cómo colaborar en GNOMECómo colaborar en GNOME
Cómo colaborar en GNOME
 
Presentación computación 1_compiladores_e_interpretes
Presentación computación 1_compiladores_e_interpretesPresentación computación 1_compiladores_e_interpretes
Presentación computación 1_compiladores_e_interpretes
 
Como volverse un Hacker feliz de GNOME
Como volverse un Hacker feliz de GNOMEComo volverse un Hacker feliz de GNOME
Como volverse un Hacker feliz de GNOME
 
Compilación del Kernel
Compilación del KernelCompilación del Kernel
Compilación del Kernel
 
Rep 34
Rep 34Rep 34
Rep 34
 
Introducción a compiladores
Introducción a compiladoresIntroducción a compiladores
Introducción a compiladores
 
Kernel
KernelKernel
Kernel
 
Comprendiendo gnome
Comprendiendo gnomeComprendiendo gnome
Comprendiendo gnome
 
Nucleo o kernel de Linux
Nucleo o kernel de LinuxNucleo o kernel de Linux
Nucleo o kernel de Linux
 
Gnome
GnomeGnome
Gnome
 
Compiladores teoria e implementacion
Compiladores teoria e implementacionCompiladores teoria e implementacion
Compiladores teoria e implementacion
 

Similaire à Gnome - un vistazo a su arquitectura

An Evening with... Go Lang
An Evening with... Go LangAn Evening with... Go Lang
An Evening with... Go LangArkhotech
 
Cursini Linuxi 4ni.ppt
Cursini Linuxi 4ni.pptCursini Linuxi 4ni.ppt
Cursini Linuxi 4ni.pptjohan riuk
 
CursoLinux4_________________________.ppt
CursoLinux4_________________________.pptCursoLinux4_________________________.ppt
CursoLinux4_________________________.pptmapajoben
 
Ponencia Linux - Colegio ADEU
Ponencia Linux - Colegio ADEUPonencia Linux - Colegio ADEU
Ponencia Linux - Colegio ADEUBruno Espinoza
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosvecaus
 
Sistemas Operativos.
Sistemas Operativos.Sistemas Operativos.
Sistemas Operativos.DSR021992
 
Notas de la version de MKVToolNix 79.0
 Notas de la version de MKVToolNix 79.0 Notas de la version de MKVToolNix 79.0
Notas de la version de MKVToolNix 79.0PILFRUTFELIZ
 
Jhorleny cuellar
Jhorleny cuellarJhorleny cuellar
Jhorleny cuellarJhorleny
 
Jhorleny cuellar
Jhorleny cuellarJhorleny cuellar
Jhorleny cuellarJhorleny
 
Jhorleny cuellar
Jhorleny cuellarJhorleny cuellar
Jhorleny cuellarJhorleny
 
Diego loaiza cuadro conparativo entre windows, mac os y linux
Diego loaiza cuadro conparativo  entre windows, mac os y linuxDiego loaiza cuadro conparativo  entre windows, mac os y linux
Diego loaiza cuadro conparativo entre windows, mac os y linuxDiego Junior Loaiza Maldonado
 
Sistemas Operativos.
Sistemas Operativos.Sistemas Operativos.
Sistemas Operativos.DSR021992
 
Sistemas Operativos.
Sistemas Operativos.Sistemas Operativos.
Sistemas Operativos.DSR021992
 

Similaire à Gnome - un vistazo a su arquitectura (20)

An Evening with... Go Lang
An Evening with... Go LangAn Evening with... Go Lang
An Evening with... Go Lang
 
Kubuntu - Aplicaciones
Kubuntu - AplicacionesKubuntu - Aplicaciones
Kubuntu - Aplicaciones
 
Yovana segundo
Yovana segundoYovana segundo
Yovana segundo
 
Cursini Linuxi 4ni.ppt
Cursini Linuxi 4ni.pptCursini Linuxi 4ni.ppt
Cursini Linuxi 4ni.ppt
 
CursoLinux4_________________________.ppt
CursoLinux4_________________________.pptCursoLinux4_________________________.ppt
CursoLinux4_________________________.ppt
 
Sistema linux
Sistema linuxSistema linux
Sistema linux
 
Presentación introducción gnu linux.odt
Presentación introducción gnu linux.odtPresentación introducción gnu linux.odt
Presentación introducción gnu linux.odt
 
Ponencia Linux - Colegio ADEU
Ponencia Linux - Colegio ADEUPonencia Linux - Colegio ADEU
Ponencia Linux - Colegio ADEU
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas Operativos.
Sistemas Operativos.Sistemas Operativos.
Sistemas Operativos.
 
Software l y p
Software l y pSoftware l y p
Software l y p
 
Entornos de escritorio más populares de gnu
Entornos de escritorio más populares de gnuEntornos de escritorio más populares de gnu
Entornos de escritorio más populares de gnu
 
Notas de la version de MKVToolNix 79.0
 Notas de la version de MKVToolNix 79.0 Notas de la version de MKVToolNix 79.0
Notas de la version de MKVToolNix 79.0
 
Jhorleny cuellar
Jhorleny cuellarJhorleny cuellar
Jhorleny cuellar
 
Jhorleny cuellar
Jhorleny cuellarJhorleny cuellar
Jhorleny cuellar
 
Jhorleny cuellar
Jhorleny cuellarJhorleny cuellar
Jhorleny cuellar
 
Diego loaiza cuadro conparativo entre windows, mac os y linux
Diego loaiza cuadro conparativo  entre windows, mac os y linuxDiego loaiza cuadro conparativo  entre windows, mac os y linux
Diego loaiza cuadro conparativo entre windows, mac os y linux
 
C y siistemas operativos
C y siistemas operativosC y siistemas operativos
C y siistemas operativos
 
Sistemas Operativos.
Sistemas Operativos.Sistemas Operativos.
Sistemas Operativos.
 
Sistemas Operativos.
Sistemas Operativos.Sistemas Operativos.
Sistemas Operativos.
 

Plus de Mauro Parra-Miranda

Cloudevel - Microsoft Azure - 101
Cloudevel - Microsoft Azure - 101Cloudevel - Microsoft Azure - 101
Cloudevel - Microsoft Azure - 101Mauro Parra-Miranda
 
¿Cómo crear un dream team de ciberseguridad?
¿Cómo crear un dream team de ciberseguridad?¿Cómo crear un dream team de ciberseguridad?
¿Cómo crear un dream team de ciberseguridad?Mauro Parra-Miranda
 
Startuplie - un ejercicio de sinceridad en español
Startuplie - un ejercicio de sinceridad en españolStartuplie - un ejercicio de sinceridad en español
Startuplie - un ejercicio de sinceridad en españolMauro Parra-Miranda
 
Usando azure para escalar tu producto
Usando azure para escalar tu productoUsando azure para escalar tu producto
Usando azure para escalar tu productoMauro Parra-Miranda
 
AWS Summit Mexico City 2018 - Usando Elastic Beanstalk
AWS Summit Mexico City 2018 - Usando Elastic BeanstalkAWS Summit Mexico City 2018 - Usando Elastic Beanstalk
AWS Summit Mexico City 2018 - Usando Elastic BeanstalkMauro Parra-Miranda
 
Del startup al negocio, the missing manual
Del startup al negocio, the missing manualDel startup al negocio, the missing manual
Del startup al negocio, the missing manualMauro Parra-Miranda
 
Cómo crear un dream team técnico - CPMX4 - 2013
Cómo crear un dream team técnico - CPMX4 - 2013Cómo crear un dream team técnico - CPMX4 - 2013
Cómo crear un dream team técnico - CPMX4 - 2013Mauro Parra-Miranda
 
Programando Windows Phone con Phonegap
Programando Windows Phone con PhonegapProgramando Windows Phone con Phonegap
Programando Windows Phone con PhonegapMauro Parra-Miranda
 
Mercado de Móviles: Una visión global
Mercado de Móviles: Una visión globalMercado de Móviles: Una visión global
Mercado de Móviles: Una visión globalMauro Parra-Miranda
 
Desarrollando Apps móviles con Titanium Studio
Desarrollando Apps móviles con Titanium StudioDesarrollando Apps móviles con Titanium Studio
Desarrollando Apps móviles con Titanium StudioMauro Parra-Miranda
 
Desarrollando Apps móviles con Titanium Studio
Desarrollando Apps móviles con Titanium StudioDesarrollando Apps móviles con Titanium Studio
Desarrollando Apps móviles con Titanium StudioMauro Parra-Miranda
 

Plus de Mauro Parra-Miranda (20)

Configuraciones inseguras
Configuraciones insegurasConfiguraciones inseguras
Configuraciones inseguras
 
Cloudevel - Microsoft Azure - 101
Cloudevel - Microsoft Azure - 101Cloudevel - Microsoft Azure - 101
Cloudevel - Microsoft Azure - 101
 
¿Cómo crear un dream team de ciberseguridad?
¿Cómo crear un dream team de ciberseguridad?¿Cómo crear un dream team de ciberseguridad?
¿Cómo crear un dream team de ciberseguridad?
 
Startuplie - un ejercicio de sinceridad en español
Startuplie - un ejercicio de sinceridad en españolStartuplie - un ejercicio de sinceridad en español
Startuplie - un ejercicio de sinceridad en español
 
Usando azure para escalar tu producto
Usando azure para escalar tu productoUsando azure para escalar tu producto
Usando azure para escalar tu producto
 
AWS Summit Mexico City 2018 - Usando Elastic Beanstalk
AWS Summit Mexico City 2018 - Usando Elastic BeanstalkAWS Summit Mexico City 2018 - Usando Elastic Beanstalk
AWS Summit Mexico City 2018 - Usando Elastic Beanstalk
 
Fractura Sismo
Fractura SismoFractura Sismo
Fractura Sismo
 
Del startup al negocio, the missing manual
Del startup al negocio, the missing manualDel startup al negocio, the missing manual
Del startup al negocio, the missing manual
 
AppHack GDL 2013
AppHack GDL 2013AppHack GDL 2013
AppHack GDL 2013
 
Cómo crear un dream team técnico - CPMX4 - 2013
Cómo crear un dream team técnico - CPMX4 - 2013Cómo crear un dream team técnico - CPMX4 - 2013
Cómo crear un dream team técnico - CPMX4 - 2013
 
NodeJS @ ACS
NodeJS @ ACSNodeJS @ ACS
NodeJS @ ACS
 
Alloy Preview
Alloy PreviewAlloy Preview
Alloy Preview
 
Programando Windows Phone con Phonegap
Programando Windows Phone con PhonegapProgramando Windows Phone con Phonegap
Programando Windows Phone con Phonegap
 
Mercado de Móviles: Una visión global
Mercado de Móviles: Una visión globalMercado de Móviles: Una visión global
Mercado de Móviles: Una visión global
 
Economía de las Apps
Economía de las AppsEconomía de las Apps
Economía de las Apps
 
Mobileads
MobileadsMobileads
Mobileads
 
Frameworks iOS
Frameworks iOSFrameworks iOS
Frameworks iOS
 
Desarrollando Apps móviles con Titanium Studio
Desarrollando Apps móviles con Titanium StudioDesarrollando Apps móviles con Titanium Studio
Desarrollando Apps móviles con Titanium Studio
 
Desarrollando Apps móviles con Titanium Studio
Desarrollando Apps móviles con Titanium StudioDesarrollando Apps móviles con Titanium Studio
Desarrollando Apps móviles con Titanium Studio
 
Moviles
MovilesMoviles
Moviles
 

Dernier

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Dernier (20)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Gnome - un vistazo a su arquitectura

  • 1. GNOME - Un vistazo a su arquitectura Mauro Parra-Miranda mauro@masutostudios.com
  • 2. Índice • ¿Qué es GNOME? • Componentes • Aplicaciones • Testing • Futuro • Links
  • 3. ¿Qué es GNOME? ¡NO es un habitante del bosque!
  • 4. ¿Qué es GNOME? • GNOME - GNU Network Object Model Environments • Comenzó en 1997. Miguel de Icaza y Federico Mena lo comenzaron (estudiantes de Fac. de Ciencias, UNAM)
  • 5. ¿Qué es GNOME? • Proveé un escritorio completo libre y grátis que para GNU/Linux.
  • 7. ¿Qué es GNOME? • ¿Por qué no usar KDE? KDE está basado en la biblioteca QT. Históricamente, la licencia de QT no era tan libre como se hubiera querido. • Escrito en C++.
  • 8. ¿Qué es GNOME? • GNOME esta basado en GTK. • GTK está escrito en C. • Con licencia LGPL - más libre, aprobada por la GNU Software Foundation. • GTK ya se usaba en GIMP, por lo que era una biblioteca probada y conocida.
  • 9. GNOME es... • Para usuarios - un escritorio completo libre, grátis y fácil de usar. • Para desarrolladores - un poderoso “framework” de desarrollo. • Más información - http://www.gnome.org/about/why.html
  • 11. Componentes • GTK+ (Gimp toolkit) - Un toolkit gráfico basado en C, utilizado para crear la parte visual de GNOME. http://www.gtk.org Soporta varios lenguajes: Ada95, C++, Dylan, Eiffel, Guile, Haskell, JavaScript, Objective C, Objective CAML, Objective Label, Pascal, Perl, Pike, Python y TOM. Tal vez más.
  • 12. Componentes • Accessibility framework - herramientas para dotar de opciones de accesibilidad a tu aplicación - lupa, lector de pantalla, soporte para doble click lento. • ORBit - implementación ligera de CORBA Object Request Broker (ORB). • Bonobo - Biblioteca de soporte para la arquitectura de componentes de GNOME. Similar a la tecnología OLE de windows ;-)
  • 13. Componentes • GConf - un sistema distribuido de configuración, lo hace especialmente fácil cuando los componentes pueden ser incrustrados, distribuidos o ambos ;-) • glib - una biblioteca portatil escrita en C para crear y manipular estructuras de datos - como listas, arboles, hash. • gdk-pixbuf - una biblioteca de manipulación de imagenes.
  • 14. Componentes • libgnomeui - biblioteca con código relacionado con la UI (interfaz de usuario) de GNOME • libgnome - biblioteca de todo lo que no es relacionado con la parte grafica de GNOME. • gnome-print - biblioteca con las rutinas para imprimir. • libxml - biblioteca para manipulación de XML.
  • 15. Componentes • gnome-vfs - Sistema virtual para manipulación de sistemas de archivos y otros medios, como ftp, ssh, etc. De tal forma que desde Nautilus puedes conectarte a sistemas remotos por via de ftp, samba, ssh, etc y manipularlo como si fueran locales.
  • 16. +Detalles • GLib • Tipos basicos, macros. • Soporte para loops • Threading, cadenas, scanner, parser para xml, etc... • Listas ligadas, tablas de hash, arboles, etc. • Portable, conveniente, usable.
  • 17. +Detalles • Gobject • Sistema de tipos generico • Implementaciones fundamentales del tipo. • Sistema de signals y notificaciones • Sistema de parametros/valor. • Facil de mapear. Proporcionar orientación a objetos encima de C.
  • 18. +Detalles • Pango • Sistema para manejo y graficación de lenguajes internacionales • ATK • Interfaces para la accesibilidad • GAIL es la implementación de ATK para GTK.
  • 19. +Detalles • GDK - Gimp Drawing Kit • Un envoltorio para las operaciones de bajo nivel de dibujo, como seria Xlib, en el caso de Xwindow • Fácil de portar a otros sistemas de ventanas.
  • 20. +Detalles • GDKPixBuf • Cargar imagenes con su propio cargador. • Manipulación de la imagen en el lado del cliente (en la memoria) • Remplaza imlib.
  • 21. +Detalles • GTK+ - Gimp Tool Kit • API orientada a objetos encima de C. • Funciona en varios lugares - Sistemas tipo unix (X-Window), Windows, Mac, Consola, sistemas con framebuffer. • Multitud de widgets: Basicos: GtkEntry, GtkButton... Layout: GtkBox, GtkTable, etc. Complejos: TreeView, TextView, etc. Dialogos comunes: File/Font/Color/Input Menu/Toolbar basado en acciones.
  • 22. +Detalles • GTK+ tiene soporte para distintos “themes”. • GTK+ es LGPL • GTK+ corre en Win32, DirectFB, OSX, Consola.
  • 23. Modelo de • Bonobo componentes • Interfase con IDL de CORBA • Envoltorios para C. • Implementación con cualquier lenguaje. • Asiste en la implementación de... • Componentes • Controles • Soporte para componentes en documentos.
  • 24. Modelo de componentes • ORBit • Implementación de CORBA con mapeo de C con la specificación 2.2 de CORBA.
  • 25. Bibliotecas de GNOME • GNOME VFS • Encapsula la funcionalidad de un sistema de archivos de tal forma que tienes una sola interface y varios drivers que conectan con otros sistemas de archivos; es decir, para ti da lo mismo si te conectas a archivos locales, HTTP, FTP, WebDAV, NNTP, etc.
  • 26. Bibliotecas de GNOME • GNOME Canvas • Widget para crear objetos personalizados, con tu propias graficas, texto, etc. • Originado por el port de Tk Canvas.
  • 27. Bibliotecas de GNOME • GNOME Print • Extensión de GNOME canvas a la impresora. • GConf • Administra la configuración en una forma de árbol (Piense en el registro de windows)
  • 28. Bibliotecas de GNOME • GNOME DB • Una arquitectura libre para accesar datos ordenados. • libgnomedb/libgda • GStreamer • Framework multimedia. • Estructura grafica de pipelines multi- thread.
  • 29. Bibliotecas de GNOME • libglade - crea la interface de usuario desde un archivo XML, en tiempo de ejecución (.glade) • libxml2/libXSLT - GNOME-XML - parser de XML, toolkit. Todo escrito en C. • gtkhtml - visualizador de html.
  • 30. Ejemplo /* A sample GNOME program */ #include <gnome.h> int main(int argc, char *argv[ ]) { GtkWidget *ghosh; gnome_init("sample", "0.1", argc, argv); ghosh = gnome_app_new("sample", "My Window"); gtk_widget_show(ghosh); gtk_main(); return 0; } $ gcc myapp.c -o myapp `gnome-config --cflags --libs gnomeui`
  • 31. Aplicaciones de GNOME http://en.wikipedia.org/wiki/List_of_GNOME_applications http://www.gnomefiles.org/
  • 33. Testing GNOME • http://live.gnome.org/Bugsquad • No necesitas ser experto. • Puedes simplemente quejarte - Y levantar un reporte de bug. • Asistir a los dias de “caza de bugs”. • Obtener builds calientitos - http://live.gnome.org/BuildBrigade
  • 34. Testing GNOME • Para el fácil testing: • Baja Virtualbox - http://virtualbox.org • Busca una máquina virtual (appliance) prehecho con la versión de GNOME que quieres probar (use the google, luke!) • Prueba y envia bugs, sin afectar tu ambiente de producción. • Usa Garnome: http://www.gnome.org/projects/garnome/
  • 36. Links • GNOME developer resources - http:// www.sun.com/software/star/gnome/ developer/index.xml • GNOME Architecture - http:// www.slideshare.net/iolo/gnome- architecture?nocache=753 • Gnome Applications - http:// en.wikipedia.org/wiki/ List_of_GNOME_applications • http://library.gnome.org/devel/gtk-tutorial/stable/
  • 37. Masuto Studios Mauro Parra-Miranda mauro@masutostudios.com http://masutostudios.com/ciencias09