Programación visual usando Gambas
Héctor Fernández López
Adrián Fernández Leiro
[email protected]
[email protected]
Primer plato
Gambas a grandes rasgos
● Basado en BASIC
Gambas a grandes rasgos
● Basado en BASIC
● GPL
Gambas a grandes rasgos
● Basado en BASIC
● GPL
● Diseño rápido de GUIs
¿Por qué “Gambas”?
● Otros lenguajes con nombres de animales
Python, camel...
(http://linux.ciberaula.com/fauna_software_libre.php)
¿Por qué “Gambas”?
● Otros lenguajes con nombres de animales
Python, camel...
(http://linux.ciberaula.com/fauna_software_libre.php)
● Acrónimo recursivo:
Gambas Almost Means BASic
Gambas y otros lenguajes
gambas <> cigalas <> langostinos
Gambas y otros lenguajes
gambas <> cigalas <> langostinos
Gambas <> C <> Java
Gambas y otros lenguajes
● Es interpretado, genera bytecodes
Gambas y otros lenguajes
● Es interpretado, genera bytecodes
● Existe una “máquina virtual” (gambasruntime)
Gambas y otros lenguajes
● Es interpretado, genera bytecodes
● Existe una “máquina virtual” (gambasruntime)
● Exporta el proyecto en bytecode, ficheros asociados
y código fuente a tar.gz
Gambas y otros lenguajes
● Es interpretado, genera bytecodes
● Existe una “máquina virtual” (gambasruntime)
● Exporta el proyecto en bytecode, ficheros asociados
y código fuente a tar.gz
● Puede generar paquetes de instalación con
las dependencias correspondientes
RPM
DEB
Gambas y otros lenguajes
● Se basa en componentes que pueden instalarse
opcionalmente (con dependencias)
Gambas y otros lenguajes
● Se basa en componentes que pueden instalarse
opcionalmente (con dependencias)
● Si no usamos componentes gráficos podemos
crear proyectos para CLI
Gambas y otros lenguajes
● Se basa en componentes que pueden instalarse
opcionalmente (con dependencias)
● Si no usamos componentes gráficos podemos
crear proyectos para CLI
● El IDE de Gambas está escrito en Gambas :)
Multiplataforma
● Funciona a la perfección en Linux x86
Multiplataforma
● Funciona a la perfección en Linux x86
● Según parece también en FreeBSD
Multiplataforma
● Funciona a la perfección en Linux x86
● Según parece también en FreeBSD
● En pruebas en Solaris y MacOSX (por el momento
no funciona)
Multiplataforma
● Funciona a la perfección en Linux x86
● Según parece también en FreeBSD
● En pruebas en Solaris y MacOSX (por el momento
no funciona)
● En Windows “debería” funcionar bajo KDEcygwin
Cuestión de esperar a que se libere QT4
Instalación
Instalación
(aka “metiendo la Gamba”)
Instalación
(aka “metiendo la Gamba”)
● Compilación
Instalación
(aka “metiendo la Gamba”)
● Compilación
● Paquetes precompilados
Debian, Fedora Core, SuSe, Mandrake, Linex...
Instalación
(aka “metiendo la Gamba”)
● Compilación
● Paquetes precompilados
Debian, Fedora Core, SuSe, Mandrake, Linex...
● Paquetes precompilados en repositorios no oficiales
Instalación
(aka “metiendo la Gamba”)
● Compilación
● Paquetes precompilados
Debian, Fedora Core, SuSe, Mandrake, Linex...
● Paquetes precompilados en repositorios no oficiales
● Dependencias “impepinables”
gb.qt => QT
gb.gtk => GTK
gb.sdl => libsdl
...
Instalación
(aka “metiendo la Gamba”)
● Compilación
● Paquetes precompilados
Debian, Fedora Core, SuSe, Mandrake, Linex...
● Paquetes precompilados en repositorios no oficiales
● Dependencias “impepinables”
gb.qt => QT
gb.gtk => GTK
gb.sdl => libsdl
...
http://gambas.sourceforge.net/download.html
Ayuda de Gambas
● Ayuda limitada dentro del programa
Ayuda de Gambas
● Ayuda limitada dentro del programa
● Wiki
Gambas (http://www.binara.com/gambaswiki/bin/view/Gambas10/WebHome)
Gambas2 (http://www.binara.com/gambaswiki/bin/view/Gambas/WebHome)
Ayuda de Gambas
● Ayuda limitada dentro del programa
● Wiki
Gambas (http://www.binara.com/gambaswiki/bin/view/Gambas10/WebHome)
Gambas2 (http://www.binara.com/gambaswiki/bin/view/Gambas/WebHome)
● Grupo de traducción del wiki al castellano
http://gambas.gnulinex.org
Ayuda de Gambas
● Ayuda limitada dentro del programa
● Wiki
Gambas (http://www.binara.com/gambaswiki/bin/view/Gambas10/WebHome)
Gambas2 (http://www.binara.com/gambaswiki/bin/view/Gambas/WebHome)
● Grupo de traducción del wiki al castellano
http://gambas.gnulinex.org
● Tutorial de lectura recomendada
http://www.laclavedefa.org/codigo_abierto/gambas_tutorial/
Componentes de Gambas
Segundo plato
Ejemplo de uso
● Sistema clienteservidor que nos permita enviar
y recibir mensajes de texto.
● Aplicación servidor que esperará 1 conexión
● Aplicación cliente que se conectará al servidor
Postre
Más ejemplos en Gambas
● Drag & Drop
Más ejemplos en Gambas
● Drag & Drop
● Uso de bases de datos
Más ejemplos en Gambas
● Drag & Drop
● Uso de bases de datos
● Control de aplicaciones CLI
Otras características
● Permite traducción integrada en el IDE
(“Cadena a traducir”)
Otras características
● Permite traducción integrada en el IDE
(“Cadena a traducir”)
● Tratamiento de errores con TRYCATCHFINALLY
Otras características
● Permite traducción integrada en el IDE
(“Cadena a traducir”)
● Tratamiento de errores con TRYCATCHFINALLY
● Orientacion a objetos + Herencia
Otras características
● Permite traducción integrada en el IDE
(“Cadena a traducir”)
● Tratamiento de errores con TRYCATCHFINALLY
● Orientacion a objetos + Herencia
● No hay un recolector de basura, los objetos se
liberan cuando no se vuelven a referenciar
Otras características
● Permite traducción integrada en el IDE
(“Cadena a traducir”)
● Tratamiento de errores con TRYCATCHFINALLY
● Orientacion a objetos + Herencia
● No hay un recolector de basura, los objetos se
liberan cuando no se vuelven a referenciar
● Tratamiento de cadenas muy sencillo
Split Left$/Mid$/Right$ Replace$ Len Trim$...
Otras características
● Permite traducción integrada en el IDE
(“Cadena a traducir”)
● Tratamiento de errores con TRYCATCHFINALLY
● Orientacion a objetos + Herencia
● No hay un recolector de basura, los objetos se
liberan cuando no se vuelven a referenciar
● Tratamiento de cadenas muy sencillo
Split Left$/Mid$/Right$ Replace$ Len Trim$...
● PRINT System.Home &/ “Desktop”
Otras características
● Permite traducción integrada en el IDE
(“Cadena a traducir”)
● Tratamiento de errores con TRYCATCHFINALLY
● Orientacion a objetos + Herencia
● No hay un recolector de basura, los objetos se
liberan cuando no se vuelven a referenciar
● Tratamiento de cadenas muy sencillo
Split Left$/Mid$/Right$ Replace$ Len Trim$...
● PRINT System.Home &/ “Desktop”
● Soporta DCOP
Otras características
● Permite traducción integrada en el IDE
(“Cadena a traducir”)
● Tratamiento de errores con TRYCATCHFINALLY
● Orientacion a objetos + Herencia
● No hay un recolector de basura, los objetos se
liberan cuando no se vuelven a referenciar
● Tratamiento de cadenas muy sencillo
Split Left$/Mid$/Right$ Replace$ Len Trim$...
● PRINT System.Home &/ “Desktop”
● Soporta DCOP
● ...
El futuro de Gambas
● Interfaz en GTK+
El futuro de Gambas
● Interfaz en GTK+
● Preprocesador: #IF, #ELSE, #ENDIF
El futuro de Gambas
● Interfaz en GTK+
● Preprocesador: #IF, #ELSE, #ENDIF
● Creación de componentes directamente en Gambas
El futuro de Gambas
● Interfaz en GTK+
● Preprocesador: #IF, #ELSE, #ENDIF
● Creación de componentes directamente en Gambas
● Un generador de informes (report designer)
El futuro de Gambas
● Interfaz en GTK+
● Preprocesador: #IF, #ELSE, #ENDIF
● Creación de componentes directamente en Gambas
● Un generador de informes (report designer)
● Mejor importación de proyectos de Visual Basic,
ahora que termina el soporte a la versión 6
El futuro de Gambas
● Interfaz en GTK+
● Preprocesador: #IF, #ELSE, #ENDIF
● Creación de componentes directamente en Gambas
● Un generador de informes (report designer)
● Mejor importación de proyectos de Visual Basic,
ahora que termina el soporte a la versión 6
● Aplicaciones web en Gambas
El futuro de Gambas
● Interfaz en GTK+
● Preprocesador: #IF, #ELSE, #ENDIF
● Creación de componentes directamente en Gambas
● Un generador de informes (report designer)
● Mejor importación de proyectos de Visual Basic,
ahora que termina el soporte a la versión 6
● Aplicaciones web en Gambas
● MÁS COMPONENTES
Agradecimientos
● Benoît Minisini (creador de Gambas)
Agradecimientos
● Benoît Minisini (creador de Gambas)
● Bodard Fabien (Gamba de la presentación)
Agradecimientos
● Benoît Minisini (creador de Gambas)
● Bodard Fabien (Gamba de la presentación)
● Daniel Campos (componentes gb.net, gb.xml y gb.gtk)
Agradecimientos
● Benoît Minisini (creador de Gambas)
● Bodard Fabien (Gamba de la presentación)
● Daniel Campos (componentes gb.net, gb.xml y gb.gtk)
● A todos los demás que aparecen en
http://gambas.sourceforge.net/halloffame.html
y http://wiki.gnulinex.org/gambas/202
Agradecimientos
● Benoît Minisini (creador de Gambas)
● Bodard Fabien (Gamba de la presentación)
● Daniel Campos (componentes gb.net, gb.xml y gb.gtk)
● A todos los demás que aparecen en
http://gambas.sourceforge.net/halloffame.html
y http://wiki.gnulinex.org/gambas/202
● Sergio Otero por ese peaso portátil
Agradecimientos
¡Gracias a todos
por venir!
¿Preguntas?
Héctor Fernández López
Adrián Fernández Leiro
[email protected]
[email protected]
Comentarios de: Programación visual usando Gambas (0)
No hay comentarios