Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost...

61
Programación visual usando Gambas Héctor Fernández López Adrián Fernández Leiro [email protected] [email protected]

Transcript of Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost...

Page 1: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Programación visual usando Gambas

Héctor Fernández LópezAdrián Fernández Leiro

[email protected]@gpul.org

Page 2: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Primer plato

Page 3: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Gambas a grandes rasgos

● Basado en BASIC

Page 4: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Gambas a grandes rasgos

● Basado en BASIC● GPL

Page 5: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Gambas a grandes rasgos

● Basado en BASIC● GPL● Diseño rápido de GUIs

Page 6: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

¿Por qué “Gambas”?

● Otros lenguajes con nombres de animalesPython, camel...(http://linux.ciberaula.com/fauna_software_libre.php)

  

Page 7: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

¿Por qué “Gambas”?

● Otros lenguajes con nombres de animalesPython, camel...(http://linux.ciberaula.com/fauna_software_libre.php)

● Acrónimo recursivo:Gambas Almost Means BASic 

Page 8: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Gambas y otros lenguajes

gambas <> cigalas <> langostinos

 

Page 9: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Gambas y otros lenguajes

gambas <> cigalas <> langostinos

Gambas <>     C      <>      Java       

Page 10: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Gambas y otros lenguajes

● Es interpretado, genera byte­codes

 

Page 11: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Gambas y otros lenguajes

● Es interpretado, genera byte­codes● Existe una “máquina virtual” (gambas­runtime)

 

Page 12: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Gambas y otros lenguajes

● Es interpretado, genera byte­codes● Existe una “máquina virtual” (gambas­runtime)

 

● Exporta el proyecto en byte­code, ficheros asociados  y código fuente a tar.gz

Page 13: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Gambas y otros lenguajes

● Es interpretado, genera byte­codes● Existe una “máquina virtual” (gambas­runtime)

 ● Puede generar paquetes de instalación con  las dependencias correspondientes

RPMDEB

● Exporta el proyecto en byte­code, ficheros asociados  y código fuente a tar.gz

Page 14: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Gambas y otros lenguajes

● Se basa en componentes que pueden instalarse  opcionalmente (con dependencias)

 

Page 15: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

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

Page 16: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Gambas y otros lenguajes

● Se basa en componentes que pueden instalarse  opcionalmente (con dependencias)

 ● El IDE de Gambas está escrito en Gambas :­)

● Si no usamos componentes gráficos podemos  crear proyectos para CLI

Page 17: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Multiplataforma

● Funciona a la perfección en Linux x86

 

Page 18: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Multiplataforma

● Funciona a la perfección en Linux x86

 

● Según parece también en FreeBSD

Page 19: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Multiplataforma

● Funciona a la perfección en Linux x86

 

● En pruebas en Solaris y MacOSX (por el momento  no funciona)

● Según parece también en FreeBSD

Page 20: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Multiplataforma

● Funciona a la perfección en Linux x86

 ● En Windows “debería” funcionar bajo KDE­cygwin     Cuestión de esperar a que se libere QT4

● En pruebas en Solaris y MacOSX (por el momento  no funciona)

● Según parece también en FreeBSD

Page 21: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Instalación

 

Page 22: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Instalación

 

(aka “metiendo la Gamba”)

Page 23: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Instalación

● Compilación

 

(aka “metiendo la Gamba”)

Page 24: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Instalación

● Compilación

 

● Paquetes precompiladosDebian, Fedora Core, SuSe, Mandrake, Linex...

(aka “metiendo la Gamba”)

Page 25: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Instalación

● Compilación

 

● Paquetes precompilados en repositorios no oficiales

● Paquetes precompiladosDebian, Fedora Core, SuSe, Mandrake, Linex...

(aka “metiendo la Gamba”)

Page 26: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Instalación

● Compilación

 

● Paquetes precompilados en repositorios no oficiales

● Paquetes precompiladosDebian, Fedora Core, SuSe, Mandrake, Linex...

(aka “metiendo la Gamba”)

● Dependencias “impepinables”gb.qt => QTgb.gtk => GTKgb.sdl => libsdl

...

Page 27: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Instalación

● Compilación

 

● Paquetes precompilados en repositorios no oficiales

● Paquetes precompiladosDebian, Fedora Core, SuSe, Mandrake, Linex...

(aka “metiendo la Gamba”)

● Dependencias “impepinables”gb.qt => QTgb.gtk => GTKgb.sdl => libsdl

...http://gambas.sourceforge.net/download.html

Page 28: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Ayuda de Gambas

● Ayuda limitada dentro del programa

 

Page 29: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Ayuda de Gambas

● Ayuda limitada dentro del programa

 

● WikiGambas (http://www.binara.com/gambas­wiki/bin/view/Gambas10/WebHome)Gambas2 (http://www.binara.com/gambas­wiki/bin/view/Gambas/WebHome)

Page 30: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Ayuda de Gambas

● Ayuda limitada dentro del programa

 

● WikiGambas (http://www.binara.com/gambas­wiki/bin/view/Gambas10/WebHome)Gambas2 (http://www.binara.com/gambas­wiki/bin/view/Gambas/WebHome)

● Grupo de traducción del wiki al castellanohttp://gambas.gnulinex.org

Page 31: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Ayuda de Gambas

● Ayuda limitada dentro del programa

 

● WikiGambas (http://www.binara.com/gambas­wiki/bin/view/Gambas10/WebHome)Gambas2 (http://www.binara.com/gambas­wiki/bin/view/Gambas/WebHome)

● Grupo de traducción del wiki al castellanohttp://gambas.gnulinex.org

● Tutorial de lectura recomendadahttp://www.laclavedefa.org/codigo_abierto/gambas_tutorial/

Page 32: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Componentes de Gambas

 

Page 33: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Segundo plato

Page 34: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Ejemplo de uso

● Sistema cliente­servidor 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

Page 35: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Postre

Page 36: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Más ejemplos en Gambas

● Drag & Drop

 

Page 37: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Más ejemplos en Gambas

● Drag & Drop

 

● Uso de bases de datos

Page 38: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Más ejemplos en Gambas

● Drag & Drop

 

● Uso de bases de datos● Control de aplicaciones CLI

Page 39: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Otras características

● Permite traducción integrada en el IDE  (“Cadena a traducir”)

Page 40: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Otras características

● Permite traducción integrada en el IDE  (“Cadena a traducir”)● Tratamiento de errores con TRY­CATCH­FINALLY

Page 41: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Otras características

● Permite traducción integrada en el IDE  (“Cadena a traducir”)

● Orientacion a objetos + Herencia

● Tratamiento de errores con TRY­CATCH­FINALLY

Page 42: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Otras características

● Permite traducción integrada en el IDE  (“Cadena a traducir”)

 

● Orientacion a objetos + Herencia

● Tratamiento de errores con TRY­CATCH­FINALLY

● No hay un recolector de basura, los objetos se  liberan cuando no se vuelven a referenciar

Page 43: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Otras características

● Permite traducción integrada en el IDE  (“Cadena a traducir”)

 

● Orientacion a objetos + Herencia

● Tratamiento de errores con TRY­CATCH­FINALLY

● 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$...

Page 44: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Otras características

● Permite traducción integrada en el IDE  (“Cadena a traducir”)

 

● Orientacion a objetos + Herencia

● Tratamiento de errores con TRY­CATCH­FINALLY

● 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” 

Page 45: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Otras características

● Permite traducción integrada en el IDE  (“Cadena a traducir”)

 

● Orientacion a objetos + Herencia

● Tratamiento de errores con TRY­CATCH­FINALLY

● 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

Page 46: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Otras características

● Permite traducción integrada en el IDE  (“Cadena a traducir”)

 

● Orientacion a objetos + Herencia

● Tratamiento de errores con TRY­CATCH­FINALLY

● 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● ...

Page 47: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

El futuro de Gambas

● Interfaz en GTK+

Page 48: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

El futuro de Gambas

● Interfaz en GTK+● Preprocesador: #IF, #ELSE, #ENDIF

Page 49: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

El futuro de Gambas

● Interfaz en GTK+● Preprocesador: #IF, #ELSE, #ENDIF● Creación de componentes directamente en Gambas

Page 50: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

El futuro de Gambas

● Interfaz en GTK+

 

● Preprocesador: #IF, #ELSE, #ENDIF● Creación de componentes directamente en Gambas● Un generador de informes (report designer)

Page 51: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

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

Page 52: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

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

Page 53: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

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

Page 54: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Agradecimientos

● Benoît Minisini (creador de Gambas)

Page 55: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Agradecimientos

● Benoît Minisini (creador de Gambas)● Bodard Fabien (Gamba de la presentación)

Page 56: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Agradecimientos

● Benoît Minisini (creador de Gambas)● Bodard Fabien (Gamba de la presentación)● Daniel Campos (componentes gb.net, gb.xml y gb.gtk)

Page 57: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

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

Page 58: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

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

Page 59: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Agradecimientos

¡Gracias a todos por venir!

Page 60: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

¿Preguntas?

Page 61: Programación visual usando Gambasstuff.gpul.org/2005_jornadas/doc/gambas.pdf · Gambas Almost Means BASic. Gambas y otros lenguajes gambas  cigalas  langostinos.

Héctor Fernández LópezAdrián Fernández Leiro

[email protected]@gpul.org