Aunque suene medio feo, GUI es un acrónimo jalado para decir interfaz gráfico (
Graphical User Interface, por aquellos que les guste el lenguaje de
Shakespeare) y ningún programa hoy en día puede ser concebido sin una interfaz gráfica y sin un mouse que mover por el escritorio. Antes, en mis tiempos
mozos, todos los programas eran de puro texto y uno tecleaba comandos
crípticos y extraños a una computadora con un monitor que solo mostraba letras verdes... pero ¡ya no más! Ahora somo de la nueva era de dibujitos en la pantalla.
Ciertamente las interfaces gráficas nos hacen la vida mucho más sencilla (bueno, casi a todos. Los ciegos son los que más batallan, pero se están desarrollando cosas chidas para ellos, como dice
aquí) y es por eso que desde que se comenzaron a usar, muchas más personas han entrado a la carrera cybertecnológica y han estado divirtiéndose con su compu, cosa que difícilmente podrían hacer si estuvieran preocupados por memorizar cien mil y pico de instrucciones textuales. Este tipo de interfaces son más intuitivos y sencillos de usar. Podemos resumir diciendo que las interfaces gráficas es la parte visual del programa con la que interactúa el usuario y contiene formas y controles.
Una interfaz gráfica se compone de controles. Pero, ¿qué es un control? Los controles nos rodean por doquier, por ejemplo, hay controles de la TV, la videocasetera, el DVD, la onda del satélite (si tienes tele con
SKY o
DirectTV), el estéreo de la casa y el del carro, la de la videocámara... Pese a que todos estos controles nos simplifican la vida (o nos vuelve más
huevones, según tu punto de vista), no son usados en interfaces gráficas. Para nosotros (por lo menos en lo que se refiere a la programación visual) un control es un objeto visual en la pantalla que le ayuda al programa comunicarse con el usuario ya sea aceptando datos de entrada o desplegando información. Como podrás imaginar, sin controles, los programas no serían muy útiles.
Multitarea y multiprocessing
Cuando hay un programa, como podría ser un servidor de base de datos, se ejecuta en el fondo, o
background, es multitarea (
multitasking). Esto deja que otros programas se ejecuten en primer plano (
foreground). Un programa background carece de interface de usuario, mientras que un programa de primer plano si lo tiene.
Para entender bien como está la movida, es importante entender lo que son los programas
front-end y
back-end (los voy a dejar en inglés para mayor claridad... a los programadores les encanta hablar en su pseudoinglés mal pronunciado, así que mejor vayan agarrando la onda desde ahorita). Los clientes (entendiéndose el software de un programa de la compu) generalmente corren en el
foreground, y por eso se llaman programas
front-end. O sea que dan la cara por un desconocido, un software que se ejecuta en el
background y por ello se le denomina
back-end. En pocas palabras, el
front-end es un programa como la secre de un cuate muy ocupado. Los clientes nunca conocen al tipo, pero interactúan con la secre. O sea que accesan al trabajo del cuate (el
back-end) pero solo ven la sonrisa y piernas de la secre (el
front-end).
Muchas veces se confunde la multitarea (
multitasking) con el multiprocesamiento (
multiprocessing). Multitarea se refiere a que una computadora hace más de una cosa a la vez, sin embargo el multiprocesamiento es usar más de un CPU para realizar un trabajo (por ejemplo, hoy es bastante común encontrar tarjetas madres para computadoras que aceptan 2 o más CPUs).
Ahora lo que se tiene que hacer, es jugar con las formas (ventanas) y los controles. Y de eso nos ocuparemos en todos mis mensajes acerca de la programación en Visual Basic 6, .net y 2005, aunque también aplica para un montón de otros lenguajes y ambientes de desarrollo (como
RealBasic,
Delphi, Visual C++, y muchísimos más). Y eso, como diría la viejita, es otra historia.
¡Hasta la próxima!