Publicado el 22 de Mayo del 2018
532 visualizaciones desde el 22 de Mayo del 2018
2,7 MB
156 paginas
Creado hace 17a (19/12/2006)
Conceptos
avanzados
en desarrollo
de software libre
Jordi Campos Miralles
Ramon Navarro Bosch
Daniel Riera i Terrén (coordinador)
XP06/M2111/01807
© FUOC • XP06/M2111/01807
Conceptos avanzados en desarrollo de software libre
Daniel Riera i Terrén
Jordi Campos Miralles
Ramón Navarro Bosch
Doctor ingeniero en Informática
por la Universidad Autónoma de
Barcelona. Profesor responsable
de las asignaturas de
programación de los Estudios
de Informática, Multimedia
y Telecomunicación de la
Universitat Oberta de Catalunya.
Ingeniero en Informática por la
Universidad Ramon Llull.
Profesor de la Universidad de
Barcelona en los estudios de
Ingeniería Informática.
Investigación en informática
gráfica y biomedicina en la
Universidad Politécnica de
Catalunya.
Ingeniero en Informática
por la Universidad Politécnica
de Catalunya. Investigación
en informática gráfica y
biomedicina en la Universidad
Politécnica de Catalunya.
Actualmente en estancia
internacional en la Universidad
de Arhus, en Dinamarca.
Primera edición: febrero 2007
Fundació per a la Universitat Oberta de Catalunya. Av. Tibidabo, 39-43, 08035 Barcelona
Material realizado por Eurecamedia, SL
© Autores: Jordi Campos Miralles, Ramon Navarro Bosch
Depósito legal: B-49.943-2006
© 2006, FUOC. Se garantiza permiso para copiar, distribuir y modificar este documento según los términos de la GNU Free
Documentation License, Version 1.2 o cualquiera posterior publicada por la Free Software Foundation, sin secciones invariantes
ni textos de cubierta delantera o trasera. Se dispone de una copia de la licencia en el apartado “GNU Free Documentation
License” de este documento.
© FUOC • XP06/M2111/01807
Conceptos avanzados en desarrollo de software libre
Índice
Introducción .............................................................................................. 7
Objetivos ...................................................................................................... 8
1. Conceptos generales ........................................................................... 9
1.1. Mono ................................................................................................ 9
1.1.1.
Introducción .......................................................................... 9
1.1.2. Arquitectura .......................................................................... 9
1.1.3. Temas jurídicos ..................................................................... 10
1.1.4.
Implementación .................................................................... 11
1.2. GTK+ ................................................................................................. 11
1.2.1.
Introducción .......................................................................... 11
1.2.2. Historia .................................................................................. 13
1.2.3. Qt y WxWindows .................................................................. 13
1.3. Interfaces gráficas de usuario ............................................................ 13
1.3.1. ¿Qué son las interfaces gráficas de usuario? ......................... 13
1.3.2. ¿Cómo se estructuran? .......................................................... 14
1.4. Widgets ............................................................................................. 15
1.4.1. Contenedores ........................................................................ 15
1.4.2. Listado de widgets .................................................................. 15
1.5. Usabilidad ......................................................................................... 16
1.5.1.
Introducción .......................................................................... 16
1.5.2. Factores .................................................................................. 17
1.5.3. Beneficios .............................................................................. 17
1.5.4. Metodología de trabajo ......................................................... 18
1.5.5. Guías básicas ......................................................................... 19
2. Mono ....................................................................................................... 21
2.1. Instalación ........................................................................................ 21
2.1.1. Nativo .................................................................................... 22
2.1.2. Debian ................................................................................... 22
2.1.3. Fedora ..................................................................................... 22
2.2. Herramientas básicas ........................................................................ 23
2.3. C# básico ........................................................................................... 23
2.3.1. Sentencias............................................................................... 24
2.3.2. Tipos elementales .................................................................. 24
2.3.3. Entrada/salida ........................................................................ 25
2.3.4. Cadenas ................................................................................. 27
2.3.5. Vectores y tablas .................................................................... 28
2.4. C# medio .......................................................................................... 29
2.4.1. Definición de clases ............................................................... 29
2.4.2. Definición de atributos internos de clase ............................. 30
© FUOC • XP06/M2111/01807
Conceptos avanzados en desarrollo de software libre
2.4.3. Métodos ................................................................................. 32
2.4.4. Herencia y polimorfismo ...................................................... 34
2.4.5. Delegados y eventos .............................................................. 35
2.4.6. Structs, enums y namespaces ................................................... 38
2.5. Boo .................................................................................................... 39
2.5.1. Estructura básica de boo ........................................................ 39
2.5.2. Diferencias con C# ................................................................ 40
2.5.3. Ejemplos ................................................................................ 41
2.6. Nemerle ............................................................................................. 42
2.6.1. Diferencias básicas con C# .................................................... 43
2.6.2. Uso de funciones locales ....................................................... 44
2.6.3. Macros y diseño por contrato ............................................... 45
2.6.4. Tipo variant y patrones ...................................................... 47
2.6.5. Ejemplo de aplicación con GUI ............................................ 47
3. GTK# y Gdk# ........................................................................................ 50
3.1. Instalación ........................................................................................ 50
3.1.1. Ejemplo GTK# ....................................................................... 50
3.2. Widgets GTK# ................................................................................... 52
3.2.1. Elementos contenedores ....................................................... 53
3.2.2. Elementos gráficos ................................................................ 59
3.2.3. Canvas ................................................................................... 75
3.3. Uso .................................................................................................... 79
3.3.1. Bucle de eventos .................................................................... 80
3.3.2. Drag and drop ......................................................................... 82
4. Glade ....................................................................................................... 85
4.1. Instalación ........................................................................................ 85
4.2. Glade ................................................................................................. 85
4.3. Glade# ............................................................................................... 87
4.4. Manejo de eventos ............................................................................ 89
4.5. Alternativas: Gazpacho y Stetic ......................................................... 90
5. Widgets avanzados .............................................................................. 92
5.1. GtkHtml# .......................................................................................... 92
5.2. Gecko# .............................................................................................. 96
5.3. GtkSourceView# ............................................................................... 99
6. Gnome# ................................................................................................ 102
6.1. Elementos gráficos .......................................................................... 102
6.2. Diálogos .......................................................................................... 105
6.3. Impresión ........................................................................................ 108
6.4. Canvas ............................................................................................. 110
6.5. Asistentes ........................................................................................ 113
7. XML........................................................................................................ 116
7.1. Leer y escribi
Comentarios de: Conceptos avanzados en desarrollo de software libre (0)
No hay comentarios