Desarrollo de Aplicaciones en GNOME

Preview:

Citation preview

Desarrollo de Aplicaciones enGNOME

Alejandro Valdes Jimenezavaldes@gnome.org

November 9, 2013

Agenda

Algunos conceptos

Herramientas

Ejemplos

Mas informacion ...

Algunos conceptos

GUI

• Graphical User Interface.

• Permite interaccion con un dispositivo a travesde ventanas, botones, etc.

• Acciones dependen de la interaccion con estosobjetos, atraves del teclado, raton u otroperiferico.

GUI

• Widget.• Nombre generico para botones, ventanas, barras de

menu, etc.• Usuario interactua con ellos.• Pueden contener otros widgets.

• Signals.• Un evento produce una senal (clicked, edited, etc).

• Callbacks.• Funcion llamada por una senal.

Programacion por eventos

• Linea de ejecucion del programa depende de loseventos que ocurran (presionar un boton, cerraruna ventana, etc).

• GTK funciona de esta manera.• Loop principal Gtk.main() a la espera de algun

evento y pasar control a alguna funcion (callback).• Fin del loop con Gtk.main quit()

Programacion por eventos

Herramientas

GTK - GIMP Toolkit

• Toolkit multiplataforma para crear interfacesgraficas de usuario.

• Ofrece un completo conjunto de Widgets.

Python

• VHLL (very high-level programming language).

• Interpretado y OO.

• Muy facil de aprender y usar.

• Para impacientes ... :)

Glade

• Asistente para diseno de GUIs.

• Almacena informacion en archivos XML que escargada luego en tiempo de ejecucion.

• Importante: Separacion de la logica y de lapresentacion (layout) de un programa.

• Es posible modificar el layout sin necesidad demodificar codigo.

Devhelp

• Programa de ayuda para desarrolladores.

• Informacion de metodos, propiedades, senales,etc...

• Es tu AMIGO ...

HIG

• Human Interface Guidelines.

• Proyecto de usabilidad para GNOME.• ”Recomienda” como crear interfaces, y asi:

• Los usuarios debieran aprender a usar de formamas rapida la aplicacion.

• La aplicacion sea atractiva.• La aplicacion sea accesible para todos• La aplicacion se vea bien con los cambios de temas

de escritorio• etc.

Ejemplos

Mas informacion ...

• http://www.gnome.org/

• http://developer.gnome.org/

• http://mail.gnome.org/mailman/listinfo/gnome-cl-list

• gnome-cl-list@gnome.org