Gambas

De EcuRed
Gambas2
Información sobre la plantilla
Parte de la familia Software Libre
Versiones2.19
GéneroEntorno de Programación
Sistemas Operativos compatiblesGNU/Linux
IdiomaEspañol
LicenciaGNU General Public Licence
Sitio web
http://gambas.sourceforge.net/

Gambas. Es un entorno de desarrollo libre basado en un intérprete de BASIC con extensiones de objetos, similar a Visual Basic ™ (pero no igual).

Con Gambas, usted puede diseñar su programa de interfaz gráfica de usuario con QT o GTK +, acceso a MySQL, PostgreSQL, Firebird, ODBC y bases de datos SQLite, las aplicaciones de KDE con DCOP, también puede traducir su programa a cualquier idioma, crear aplicaciones de red fácilmente, hacer aplicaciones 3D OpenGL, hacer aplicaciones web CGI.

Contenido

Introducción

Gambas es un lenguaje orientado a objetos con gran número de capacidades y un entorno de desarrollo basado en un intérprete de BASIC. Se encuentra publicado bajo licencia GNU General Public Licence.
Su arquitectura está ampliamente inspirada por Java: un ejecutable Gambas es un archivo de clases compiladas y archivos con datos que se ejecuta a través de un interprete creado al efecto.

Gambas se compone de:

Compilador: es un programa rápido y pequeño escrito en C:

  Intérprete: es también un pequeño ejecutable escrito en C, de menos de 180Kb:

Finalmente, el archivador es un programa que crea un ejecutable Gambas a partir de la carpeta de un proyecto Gambas.
Tenga en cuenta que un ejecutable Gambas no es más que un archivo no comprimido creado a partir de un proyecto. Puede incluir cualquier tipo de archivo, no solamente código bytecode compilado, e internamente el intérprete accede a dicho archivo como si fuera un sistema de archivos.

  Lenguaje Gambas

Características principales

  Gambas orientado a objetos

Cualquier clase puede ser heredada, reimplementada o sobrecargada, incluso aquellas nativas creadas en C/C++.
Por último, una clase nativa denominada Observer permite interceptar cualquier evento generado por un objeto.

 Lenguaje extensible

El intérprete básico de Gambas es un programa de consola. El resto de características son provistas mediante componentes, que son grupos de clases escritas en C/C++, o directamente en Gambas.
Dichos componentes proporcionan, entre otras cosas:

Observe que todas esas características se cubren con sólo 351 clases y 4197 símbolos (a día de hoy). Es una cantidad muy pequeña de conceptos a aprender cuando se compara con otros lenguajes. Aún más, tratamos de hacer los nombres de los símbolos lo más coherentes posibles. Todo ello hace a Gambas relativamente fácil de aprender.

Los componentes escritos en C/C++ se almacenan en librerías dinámicas, y los componentes escritos en Gambas son simplemente proyectos Gambas como cualquier otro.
El intérprete los carga al inicio, o cuando se necesitan, durante la ejecución del programa.

Desarrollar un componente en C/C++ es similar hasta cierto punto a desarrollar un driver para el kernel Linux

El código fuente de un componente se encuentra dentro del árbol principal del código fuente de Gambas.

Un lenguaje para crear scripts

Recientemente, Gambas ha sido ampliado con soporte para ejecutar scripts. Esta característica es posible gracias al scripter, un pequeño ejecutable escrito en Gambas que permite ejecutar código Gambas desde cualquier archivo de texto.
He aquí un pequeño ejemplo de script:

#!/usr/bin/env gbs2

' Este script devuelve la memoria realmente utilizada por el sistema, así como el caché y swap en uso.

FUNCTION GetUsedMemory() AS Integer

DIM sRes AS String
DIM aRes AS String[]
DIM cVal AS NEW Collection
DIM sVal AS String

EXEC ["cat", "/proc/meminfo"] TO sRes

FOR EACH sVal IN Split(sRes, "\n", "", TRUE)
aRes = Split(sVal, " ", "", TRUE)
cVal[Left$(aRes[0], -1)] = CInt(aRes[1])
NEXT

RETURN cVal!MemTotal - cVal!MemFree - cVal!Buffers -
 cVal!Cached + cVal!SwapTotal - cVal!SwapFree - cVal!SwapCached

END

PRINT Subst("Memoria en uso: &1 bytes", GetUsedMemory())

Independencia en bases de datos, interfaz de usuario y escritorio

Los componentes de Gambas no son solo bindings. Tratan de abstraer la librerías subyacentes en las que están basados, de forma que se gane en coherencia y simplicidad.

  Gestor de bases de datos 

  Independencia del escritorio

  Entorno de desarrollo

Gambas dispone de un IDE rico en gran número de características, que está también escrito en Gambas.
Puede con él crear formularios, insertar controles arrastrándolos con el ratón, editar su código, y hacer todas las tareas habituales en en otros entornos para desarrollo rápido de aplicaciones.

Características

Resaltado de texto de código escrito en Gambas, HTML y CSS.

Más aún, permite crear paquetes de instalación para muchas distribuciones, y paquetes tar.gz de instalación basados en las herramientas GNU autotools.

Soporte de distribuciones GNU/Linux

Los paquetes creados por el IDE sólo funcionan si la distribución de destino empaqueta Gambas correctamente, de acuerdo con lo especificado en la página del wiki How To Package Gambas. Por desgracia, no es el caso de todas las distribuciones, en este momento...

Finalmente, incluso aunque el entorno de desarrollo está muy ligado al lenguaje Gambas, puedes usarlo si quieres para otras tareas.

Advertencia

Gambas a pesar de ser un proyecto que es totalmente nuevo para las comunidades posee algunas dificultades que quizás resulten incómodas para los usuarios.
Los principales son:
Gambas es una aplicación de 32 bits, no se ejecuta de forma nativa en sistemas de 64 bits.
Algunas características que aún no existen en el lenguaje: declaración de enumeraciones, soporte de estructuras.
El componente GTK+ aún no está finalizado, por lo cual la independencia de toolkit no es total.
Con suerte, el objetivo es resolver estos problemas en la próxima versión.

El futuro

Gracias a un script de Perl que emplea los módulos Positronic::Variables y Quantum:Superposition, podemos adivinar que la siguiente versión vendrá acompañada de:

Descarga de Gambas

Se puede descargar la aplicación de cualquiera de los repositorios actualues de Ubuntu y Debian

Puede descargar Gambas desde http://gambas.sourceforge.net/download.html

Véase también

Referencias

 http://gambas.sourceforge.net/