Capa+de+interfaz+de+usuario.

Capa de interfaz de usuario. **// Interfaces de usuario y su arquitectura //** **ARQUITECTURA DE INTERFACES GRÁFICAS EN AMBIENTE DISTRIBUIDOS.** El modo en que el usuario se comunica con una aplicación para solicitar los recursos del sistema operativo constituye la interfaz del mismo. La interfaz es particularmente importante para establecer una vinculación amigable entre el usuario de la computadora y la aplicación. Históricamente las interfaces estuvieron basadas en comandos formateados por palabras clave que se combinaban con otras cadenas de caracteres (sintaxis) para ser interpretados por el sistema operativo. Estas interfaces se denominan; **interfaces orientadas a carácter**. Un ejemplo clásico de una interfaz orientada a carácter es el COMMAND de MS-DOS. ** Interfaz de modo carácter ** En esta clase de interfaz entre la aplicación y el usuario en la que las órdenes se pasan en ASCII existen algunas ventajas y desventajas: Las ventajas que tienen las interfaces orientadas a carácter son su simplicidad, confiabilidad y poco costo en el desarrollo del sistema operativo que las soporta. Las desventajas son que requieren un usuario calificado que estudie y conozca los comandos, lo cual resulta muy restrictivo para la difusión del uso de las computadoras. Uno de los beneficios de los sistemas cooperativos visto anteriormente es que: para el usuario lo que importa es lo que éste ve en la pantalla, la presentación. Al software que simula la presentación de un sistema se le conoce como emulador de terminal, el cuál debe ser interactivo como cuando uno redacta un informe en una máquina de escribir, lo que el usuario teclea se ve reflejado en el documento, una terminal la cuál solo realiza tareas de presentación debería funcionar de la misma manera. ** Principio general de emulación de terminal ** La terminal tradicional de minicomputadoras o mainframe tiene que ejecutar dos tipos básicos de comandos. Primero, debe desplegar los caracteres enviados por el servidor remoto. Segundo, debe enviar al servidor los caracteres introducidos por el usuario o solicitados por el servidor. Algunas terminales realizan tareas adicionales. Ejemplos de emuladores de terminal basados en carácter son: ANSI.SYS, y VT-100. Cuando los caracteres llegan desde el servidor, la terminal no puede simplemente escribirlos en la pantalla y avanzar el cursor, la terminal debe analizar la cadena de caracteres para detectar posibles comandos. De acuerdo al estándar ANSI X3.64 los comandos son identificados por una secuencia de dos caracteres ascii, ESC (ascii=27h) y [ (ascii=5bh) ]. Ejemplo: ESC[ 2 ] : Cuando la terminal recibe este comando, limpia la pantalla. Una interfaz basada en caracteres, por lo general ofrece los siguientes servicios: Comandos de posicionamiento del cursor. Comandos para limpiar la pantalla. Comandos para indicar los atributos de los caracteres. ** Interfaz gráfica de usuario ** En la actualidad millones de nuevos usuarios de las computadoras se han beneficiado con la aparición de las Interfaces Gráficas de Usuario/Graphical User Interface, GUI), las computadoras pueden dar la apariencia de un escritorio común y corriente de una oficina, mostrando iconos, imágenes y otros objetos visuales los cuales permiten que el usuario se acerque más a las computadoras.  ** Características de las interfaces gráficas de usuarios **   En general, las GUI´s presentan información en áreas rectangulares en la pantalla llamadas ventanas. Las ventanas se pueden sobreponer. Al usuario se le permite manipular la ventana y su contenido, puede cambiar el tamaño y la posición. Las ventanas pueden contener objetos los cuales pueden ser seleccionados haciendo clic con el botón del ratón una vez que el indicador del ratón se encuentra sobre el dibujo del objeto al cual se le llama icono. El tamaño total de una ventana puede ser reducido a un icono, y el usuario puede restablecer la ventana a su tamaño normal. GUI´s avanzados eliminan completamente la necesidad de teclear comandos, permitiéndole al usuario seleccionar comandos desde menús usando el ratón o teclas de función. Las ventanas también pueden contener barras de desplazamiento y botones. En la programación con GUI´s se debe estar atento para aceptar y procesar eventos asíncronos iniciados por el usuario o por el sistema.