| Artículos | 01 ABR 1995

Programación Visual con REXX

Tags: Histórico
Watcom VX-Rexx 2.1 y VisPro/Rexx Gold 2.02
Jesús Díez.

Dos herramientas para crear aplicaciones OS/2 mediante desarrollo visual basado en el lenguaje Rexx.

Alrededor del OS/2 se está gestando todo un universo de novedosas herramientas de desarrollo, que utilizan a fondo las características orientadas a objeto del sistema operativo. Algunas de ellas, como las tratadas en esta comparativa, definen nuevos estándares en lo que a programación visual se refiere, ofreciendo enormes facilidades para construir y mantener aplicaciones con una mínima inversión de tiempo y dinero. Cualquiera de las dos resulta, hoy por hoy, la opción disponible más rentable para el desarrollo de pequeños programas y clientes de bases de datos para OS/2, especialmente para la familia de productos DB2.

El lenguaje Rexx es una elección natural como base de los dos productos aquí analizados, no sólo porque acompaña a cada copia de OS/2, sino también porque tiene una excelente curva de aprendizaje y proporciona un método rápido de resolver problemas de programación. Permite afrontar soluciones directamente, sin necesidad de perderse en la enmarañada estructura técnica de otros lenguajes. Es cierto que su velocidad de ejecución, aunque notable, es inferior a la de programas desarrollados en C o C++ pero, habitualmente, ese no es el punto crítico de multitud de aplicaciones en el mundo real, en donde a menudo lo fundamental es poner la menor cantidad de tiempo posible entre el problema que surge y su solución.

Otro escollo habitual suele ser la programación de la interfaz gráfica. Aprender cualquier nuevo lenguaje de programación requiere una importante inversión de tiempo que, pese a ello, parece insignificante cuando se compara con el tiempo necesario para conocer las interioridades de la interfaz gráfica de cualquier sistema operativo. Es necesario aprender a manejar cientos de llamadas a funciones y estructuras de datos, antes de ser capaz de programar la aplicación más simple. En este punto es donde se aprecia nuevamente el poder de estos dos productos. El entorno de programación, absolutamente visual, permite disponer en poco tiempo de la interfaz más sofisticada, dejando la responsabilidad de su mantenimiento, a cargo de la herramienta. Nosotros sólo tenemos que preocuparnos de vincular los programas Rexx, que responden a los eventos de usuario directamente relacionados con nuestra aplicación.

VX-Rexx y VisPro/Rexx, como verá en las próximas líneas, se parecen en muchos aspectos fundamentales, ya que están diseñados con la misma filosofía. Ambos disponen de un amplio arsenal de objetos con la interfaz de usuario. Los dos poseen considerables capacidades de creación de aplicaciones cliente-servidor para acceso a bases de datos. Aquí habría que matizar que, realmente, lo que producen son los clientes que acceden a los datos, ya que las capacidades de servidor, quedan como responsabilidad del gestor de bases de datos que estemos utilizando. Por último y no menos importante, los dos permiten desarrollar aplicaciones independientes de las herramientas, que pueden ser distribuidas libres de royalties.

Watcom VX-Rexx 2.1

VX-Rexx se ofrece en dos presentaciones diferentes: la versión estándar (25.404 pesetas) y la denominada Cliente-Servidor (63.684 pesetas). Esta última incluye todas las características de la versión estándar, y añade todo lo necesario para el desarrollo de clientes para bases de datos, más una excelente librería de objetos para la generación de gráficos profesionales. Esta versión más completa será la evaluada en este artículo.

El programa se instala desde 5 disquetes y ocupa unos 14 MB de espacio en el disco duro, sin contar el necesario para el gestor de base de datos que hayamos decidido utilizar.

El componente principal de VX-Rexx es el generador de aplicaciones, que integra todo lo necesario para diseñar, editar y depurar nuestros programas. Se complementa con una herramienta de administración de bases de datos que nos permite realizar multitud de tareas rutinarias, sin necesidad de utilizar las utilidades específicas del gestor que tengamos instalado.

La interfaz de usuario del entorno de desarrollo es, sin duda, una de las más sofisticadas y amigables con las que he tenido ocasión de trabajar. Transforma el proceso de desarrollo de aplicaciones en algo sencillo e intuitivo. Todo se reduce a tres pasos básicos: el arrastre de los elementos de la interfaz de nuestra aplicación, la configuración de dichos elementos a través del cuaderno de propiedades del objeto y, por último, la vinculación de código Rexx a los diferentes eventos que los objetos de la interfaz pueden generar, como respuesta a la interacción con el usuario. La filosofía de la programación visual está presente en cada paso del proceso.

VX-Rexx puede utilizar cualquier objeto y evento de la interfaz del Presentation Manager. Desde pulsadores, controles circulares, cajas de texto de todo tipo, menús emergentes y de ventana, barras deslizantes, etc, hasta contenedores de objetos y elementos multimedia, todos pueden aparecer en nuestros programas. El gestor de objetos esta basado en el SOM (System Object Model) de IBM para OS/2, y su utilización es muy sencilla. Si deseamos crear una ventana con un campo de entrada de texto, más un botón, que guarde el texto en una variable al ser pulsado con el ratón, este sería aproximadamente el proceso: Primero arrastramos los objetos sobre la ventana vacía que será nuestra aplicación. El evento que queremos controlar es el de la pulsación del botón, así que accedemos a su menú personal y elegimos el evento click, que hará que se abra la ventana del editor preparada para que introduzcamos el código Rexx asociado. En este caso, la respuesta a la pulsación del botón incumbe al otro objeto, así que señalamos el campo de texto y lo arrastramos con el botón derecho sobre el editor. Esto provocará la aparición de una ventana con la lista de propiedades y métodos que ese objeto admite. Un objeto, al ser invocado, puede manipular sus propiedades o realizar algunas funciones simples (métodos). En este caso elegimos la función de captura de texto, y automáticamente se insertará en el editor todo el código Rexx necesario para la operación. La repetición de este proceso en el que se asocian eventos de unos objetos, a respuestas en otros y a fragmentos de código Rexx, permite programar complicadas opciones de interfaz, que resultarían extremadamente costosas en otro lenguaje.

Con VX-Rexx podemos ejecutar nuestra aplicación en cualquier momento de su desarrollo, para comprobar su funcionamiento. También podemos visualizar el código Rexx completo de nuestro programa, incluido todo el necesario para el control de eventos. A través de esta función podemos apreciar la enormidad del trabajo automático de control de la interfaz, que es realizado por VX-Rexx. Otra posibilidad que podemos activar, desde el mismo entorno de desarrollo, es un práctico depurador de errores. El depurador ofrece las clásicas opciones de colocación de puntos de ruptura y monitorización de variables, y funciona perfectamente en multitarea.

Aunque VX-Rexx no está concebido como una herramienta para la programación de grandes aplicaciones, posee algunas características útiles para la gestión de ficheros pertenecientes a un mismo proyecto. Las aplicaciones resultantes se pueden distribuir como ejecutables independientes, o también como macros Rexx. Aunque el fichero resultante es, en ambos casos, bastante compacto, nuestra aplicación necesitará la presencia de una DLL run-time, que Watcom permite distribuir libre de royalties.

Una característica interesante soportada por VX-Rexx es la capacidad de programación de sub-tareas (threads), dentro de nuestras aplicaciones. Diferentes funciones del programa pueden lanzarse simultáneamente, sin esperar a que termine la previa, para aprovechar al máximo el procesador durante las tareas de entrada y

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información