1. Hardware:
* Pantalla: Una pantalla para representar visualmente los elementos de la interfaz (ventanas, botones, iconos, texto, etc.).
* Dispositivos de entrada: Dispositivos para interactuar con la GUI, como un mouse (o trackpad), teclado, pantalla táctil, lápiz óptico, etc.
* Unidad de procesamiento (CPU): Para manejar los cálculos y operaciones necesarias para responder a la entrada del usuario y actualizar la pantalla.
* memoria (RAM): Para almacenar los datos e instrucciones de la GUI temporalmente mientras se está ejecutando.
* Tarjeta gráfica (GPU): Maneja la representación y la visualización de los elementos gráficos en la pantalla, acelerando significativamente el proceso, especialmente para interfaces complejas.
2. Software:
* Sistema operativo (OS): Proporciona el entorno y los servicios fundamentales para que la GUI opere. El sistema operativo administra los recursos de hardware y proporciona funcionalidades esenciales en las que se basa la GUI.
* Gui Toolkit o Framework: Un conjunto de bibliotecas y herramientas que proporcionan componentes preconstruidos (botones, menús, ventanas, etc.) y funciones para simplificar el desarrollo y la representación de la GUI. Los ejemplos incluyen:Qt, GTK, Swing, WPF, Cocoa.
* Aplicación GUI: El programa real que implementa la interfaz de usuario específica y su funcionalidad. Esta aplicación utiliza el kit de herramientas GUI para crear y administrar los componentes visuales.
* Controladores: Software que permite que el sistema operativo se comunique y controle los dispositivos de hardware (pantalla, mouse, teclado, etc.).
3. Modelo de interacción:
* Manejo de eventos: La GUI necesita un mecanismo para detectar y responder a los eventos de entrada del usuario (por ejemplo, clics del mouse, presiones de teclas, gestos táctiles). El marco del sistema operativo y la GUI generalmente manejan esto.
* Motor de representación: Un sistema para traducir los elementos GUI en representaciones visuales que se muestran en la pantalla. Esto a menudo se maneja por la tarjeta gráfica y el marco GUI.
* Comentarios de los usuarios: La GUI debe proporcionar retroalimentación visual y auditiva al usuario para indicar que se han tomado acciones (por ejemplo, cambios de cursor, animaciones, efectos de sonido).
Sin todos estos componentes trabajando juntos correctamente, una GUI no puede funcionar correctamente. Un componente faltante o de mal funcionamiento puede conducir a errores, bloqueos o una interfaz completamente inutilizable.