InterfazGraficaPDF
-
Upload
jairo-reyes -
Category
Documents
-
view
3 -
download
0
description
Transcript of InterfazGraficaPDF
7/17/2019 InterfazGraficaPDF
http://slidepdf.com/reader/full/interfazgraficapdf 1/10
Instituto Tecnológico de TolucaInterfaz Grafica
Página | 1
Instituto Tecnológico de Toluca
Interfaz Grafica
Asignatura: Programación Visual
Alumno: Jairo Reyes García
No. De Control: 14280914
7/17/2019 InterfazGraficaPDF
http://slidepdf.com/reader/full/interfazgraficapdf 2/10
Instituto Tecnológico de TolucaInterfaz Grafica
Página | 2
Índice
Contenido
1. ¿Qué es una interfaz gráfica? ................................................................................................................................ 3
1.1Principios para el diseño de interfaces gráficos. .................................................................................................. 3
1.1.1 Autonomía .................................................................................................................................................... 3
1.1.2 Percepción del Color ..................................................................................................................................... 3
1.1.3 Legibilidad ..................................................................................................................................................... 3
2. Ventajas y desventajas. ............................................................................................................................................. 4
2.1Ventajas: ............................................................................................................................................................... 4
2.2Desventajas: ......................................................................................................................................................... 4
3. Lenguajes de programación existentes para el desarrollo de interfaces gráficas. ................................................... 5
3.1GLADE ................................................................................................................................................................... 5
3.2GTK ....................................................................................................................................................................... 5
3.3TCL/TK ................................................................................................................................................................... 6
3.3.1 Ventajas de TCL/TK ....................................................................................................................................... 6
3.3.2 Inconvenientes de TCL/TK ............................................................................................................................ 6
3.4QTK ....................................................................................................................................................................... 6
3.4.1 Ventajas de QTK ........................................................................................................................................... 7
3.5WXWINDOWS ....................................................................................................................................................... 7
3.6 Visual Basic .......................................................................................................................................................... 7
3.6.1 Características generales .............................................................................................................................. 7
3.6.2 Ventajas ........................................................................................................................................................ 8
3.6.3 Inconvenientes ............................................................................................................................................. 8
3.7 JAVA. .................................................................................................................................................................... 9
3.7.1 Leguaje Familiar. ........................................................................................................................................... 9
3.7.2 Lenguaje orientado a objetos. ...................................................................................................................... 9
3.7.3 Lenguaje robusto. ....................................................................................................................................... 10
3.7.4 Lenguaje de alto rendimiento. ................................................................................................................... 10
3.7.5 Lenguaje Portable. ...................................................................................................................................... 10
3.7.6 Lenguaje lo más simple posible. ................................................................................................................. 10
3.7.7 Lenguaje Seguro. ........................................................................................................................................ 10
7/17/2019 InterfazGraficaPDF
http://slidepdf.com/reader/full/interfazgraficapdf 3/10
Instituto Tecnológico de TolucaInterfaz Grafica
Página | 3
1. ¿Qué es una interfaz gráfica?
Interfaz gráfica de usuario (En inglés Graphic User Interface, también conocido con su acrónimoGUI) es un programa informático que actúa de interfaz de usuario, utilizando un conjunto de
imágenes y elementos gráficos para representar la información y acciones disponibles en la
interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo para permitir la
comunicación con el sistema operativo de una maquina o un computador.
Es un método para facilitar la interacción del usuario con el ordenador o la computadora a
través de la utilización de un conjunto de imágenes y objetos pictóricos (iconos, ventanas)
además de texto.
1.1Principios para el diseño de interfaces gráficos.
Existen principios relevantes para el diseño e implementación de Interfaces de usuario (IU) ya
sean para IU graficas como para la web.
1.1.1 Autonomía
La computadora, la IU y el entorno de trabajo deben estar a disposición del usuario. Se debe
dar al usuario el ambiente flexible para que pueda aprender rápidamente a usar la aplicación.
1.1.2 Percepción del Color
Aunque se utilicen convenciones de color en la IU, se deberían usar otros mecanismos
secundarios para proveer la información a aquellos usuarios con problemas en la visualización
de colores.
1.1.3 Legibilidad
Para que la IU favorezca la usabilidad del sistema de software, la información que se exhiba en
ella debe ser fácil de ubicar y leer. Es importante hacer clara la presentación visual (colocación
/agrupación de objetos, evitar la presentación de excesiva información.
7/17/2019 InterfazGraficaPDF
http://slidepdf.com/reader/full/interfazgraficapdf 4/10
Instituto Tecnológico de TolucaInterfaz Grafica
Página | 4
2. Ventajas y desventajas.
2.1Ventajas:
- Facilita el manejo de los procedimientos
- Cada comando puede ser visualizado en pantalla mediante una imagen que lo representa
- Proporciona mecanismos estándar de control como ventanas y cuadros de dialogo
- Permite interactuar al usuario con el sistema de una forma mas fácil.
2.2Desventajas:
- Utiliza más recursos del sistema
- Es más complejo realizar un sistema de este tipo
- Son más costosos
7/17/2019 InterfazGraficaPDF
http://slidepdf.com/reader/full/interfazgraficapdf 5/10
Instituto Tecnológico de TolucaInterfaz Grafica
Página | 5
3. Lenguajes de programación existentes para el desarrollo de interfaces
gráficas.
3.1GLADE
Glade es un desarrollador de interfaces Permite construir de forma gráfica e interactiva
interfaces de usuario gráficos para Gnome/Gtk, publicado bajo la licencia GNU GPL. Glade
también permite definir los nombres de los handler (funciones) que se asociarán a cada uno de
los eventos del interfaz.
La Librería libGlade
Una vez hemos creado visualmente el interfaz deberemos usarlo en nuestros programas, para
esto glade nos brinda dos opciones:
La primera forma es que el propio Glade genere el código en C que crea el interfaz, código en
el que posteriormente uniremos con nuestro rograma, esta opción suele ser poco recomendable
porque es un poco engorrosa.
La segunda manera de hacerlo es usar Glade para que genere un fichero en el cual se describe
con XML el interfaz. Este fichero nos servirá para especificárselo a la librería libglade, la cual,
mediante un par de llamadas ejecutara el código necesario para usar el interfaz en nuestro
programa.
3.2GTK
GTK(GIMP Toolkit) es una biblioteca para crear interfaces graficas de usuario.
Su licencia es la LGPL, así que mediante GTK podría desarrollar programas con licencias
abiertas, gratuitas, libres y hasta licencias comerciales no libres sin mayores problemas.
GTK está construido encima de GDK (GIMP Drawing Kit) que básicamente es un recubrimiento
de las funciones de bajo nivel que deben haber para acceder al sistema de ventanas sobre el
que se programe. Se llama el UIMP toolkit porque fue escrito para el desarrollo del General
Image Manipulation Program (GIMP), pero ahora GTK se utiliza en un gran número de
proyectos de programación, incluyendo el proyecto GNU Network
Object Model Environment (GNOME).
GTK es esencialmente una interfaz para la programación de aplicaciones orientadas a objetos
(API). Aunque esta completamente escrito en C, esta implementado haciendo uso de la idea de
clases y de funciones respuesta o de callback(punteros o funciones).
7/17/2019 InterfazGraficaPDF
http://slidepdf.com/reader/full/interfazgraficapdf 6/10
Instituto Tecnológico de TolucaInterfaz Grafica
Página | 6
3.3TCL/TK
TCL(Tool Command Languaje) es un lenguaje de programación interpretado y multiplataforma.
Es distribuido de forma totalmente gratuita, aunque su uso sea para aplicaciones comerciales, através de Internet.
Una de sus principales características es su gran facilidad con la que se pueden implementar
funciones en C/C++ que pasan a ser nuevas instrucciones del intérprete. La extensión más
conocida, y que es distribuida junto con el propio TCL, es TK(Tool Kit).
TK añade a los comandos de TCL, comandos capaces de crear interfaces gráficos de usuario.
3.3.1 Ventajas de TCL/TK
-Sencillez de programación
-Rapidez en el desarrollo de las aplicaciones (Tecnología RAD)
-Gran velocidad comparado con otros lenguajes interpretados
-Facilidad de modificación de las aplicaciones
-Multiplataforma
-Gran número de extensiones gratuitas
-Posibilidad de incorporar nuevos comandos en lenguaje C/C++
3.3.2 Inconvenientes de TCL/TK
-Excesivamente lento comparado con los lenguajes compilados
-Necesidad del intérprete para ejecutar una aplicación
-Difícil de depurar
3.4QTK
Es una herramienta construida a partir de TCL/TK, que permite a los diseñadores de interfaces
de usuarios adoptar un enfoque basado en modelos rentables para el diseño de interfaces de
usuario ejecutables.
En esta herramienta los widgets pueden ser manejados y controlados dinámicamente y así
facilita el desarrollo de las aplicaciones de las interfaces de usuario. El módulo QTK está
basado en el uso de descripciones de usuario.
El enfoque de la descripción es particularmente útil en un lenguaje simbólico como OZ, que
permite la creación fácil y concisa de estructuras de datos.
7/17/2019 InterfazGraficaPDF
http://slidepdf.com/reader/full/interfazgraficapdf 7/10
Instituto Tecnológico de TolucaInterfaz Grafica
Página | 7
3.4.1 Ventajas de QTK
-Unicidad de Lenguaje
-Reduce los costos de desarrollo
-Integración ligada de herramientas
3.5WXWINDOWS
Es una biblioteca de clases para C++ y python, que permite el desarrollo de aplicaciones con
interfaces graficas de usuario de una manera rápida y sencilla. Su principal característica es
que es multiplataforma. wxWindows se distribuye bajo licencia wxWindows Library License, que
es similar a la GNU Library General Public License pero que además permite usar la biblioteca
para desarrollos comerciales(ya sean aplicaciones o modificaciones de la propia biblioteca),
siempre y cuando estos desarrollos comerciales no usen ningún código distribuido bajo alguna
licencia GNU.
3.6 Visual Basic
Es un lenguaje de programación desarrollado por Microsoft. Visual Basic es un lenguaje visual
que desciende del lenguaje de programación BASIC. Su primera versión fue presentada en
1991 con la intención de simplificar la programación utilizando un ambiente de desarrollo
completamente gráfico que facilitara la creación de interfaces gráficas y en cierta medida
también la programación misma.
3.6.1 Características generales
Es un lenguaje simple pensado para programadores inexpertos, guiado por eventos, y centrado
en un motor de formularios poderoso que facilita el rápido desarrollo de aplicaciones gráficas.Su sintaxis, derivada del antiguo BASIC, ha sido ampliada con el tiempo al agregarse las
características típicas de los lenguajes estructurados modernos. No requiere de manejo de
punteros. Posee varias bibliotecas para manejo de bases de datos, destacando ADO.
Es utilizado principalmente para aplicaciones de gestión de empresas, debido a la rapidez con
la que puede hacerse un programa que utilice una base de datos sencilla, además de la
abundancia de programadores en este lenguaje.
El compilador de Microsoft genera ejecutables que requieren una DLL para que sus ejecutables
funcionen, en algunos casos llamada MSVBVMxy.DLL (acrónimo de "MicroSoft Visual BasicVirtual Machine x.y", siendo x.y la versión) y en otros VBRUNXXX.DLL ("Visual Basic Runtime
X.XX"), que provee todas las funciones implementadas en el lenguaje. Además existen un gran
número de bibliotecas (DLL) que facilitan el acceso a muchas funciones del sistema operativo y
la integración con otras aplicaciones.
7/17/2019 InterfazGraficaPDF
http://slidepdf.com/reader/full/interfazgraficapdf 8/10
Instituto Tecnológico de TolucaInterfaz Grafica
Página | 8
3.6.2 Ventajas
• Visual Basic es un lenguaje simple y por tanto fácil de aprender.
• Su mayor facilidad radica en el dibujado de formularios, mediante el arrastre de
controles.
• La sintaxis está cercana al lenguaje humano.
• Las ramas de Visual Basic X ha muerto. Microsoft ha comenzado con su versión .NET,
completamente diferente del Visual Basic original. Visual Basic .NET compila hacia el mismo
código final que C#. Visual Basic .NET es mucho más potente y alberga muchas más
funcionalidades que ésta versión.
• Es un lenguaje RAD, centrado en conseguir en el menor tiempo posible los resultados
deseados, por eso mismo su mayor uso está en las pequeñas aplicaciones, como gestión debares, empresas, restaurantes...
• Tiene una ligera implementación de POO
• Permite el tratamiento de mensajes de Windows.
• Gran parte del trabajo en el diseño de formularios está realizado, gracias a la gran gama de
controles incorporados junto al lenguaje que ahorran costes de tiempo de desarrollo.
• Permite crear controles personalizados fácilmente del mismo modo que el diseño de
formularios.
3.6.3 Inconvenientes
• Es propietario de Microsoft, por tanto nadie que no sea del equipo de desarrollo de esta
compañía decide la evolución del lenguaje.
• Sólo existe un compilador & IDE, llamado igual que el lenguaje.
• Sólo genera ejecutables para Windows.
• La sintaxis es bastante inflexible.
• Los ejecutables generados son relativamente lentos.
• NO es adecuado para aplicaciones grandes, multimedia, de oficina, videojuegos, editores
gráficos...
• NO permite características de programación avanzada.
• NO permite generar librerías dinámicas (DLL).
• Sólo permite el uso de funciones de librerías dinámicas (DLL) stdcall.
7/17/2019 InterfazGraficaPDF
http://slidepdf.com/reader/full/interfazgraficapdf 9/10
Instituto Tecnológico de TolucaInterfaz Grafica
Página | 9
• Para que los ejecutables que genera funcionen necesita una DLL llamada MSVBVMxy.DLL:
MicroSoft Visual Basic Virtual Machine x.y (versión). Provee todas las funciones y
características implementadas en el lenguaje.
• Algunas funcionalidades están indocumentadas.
• La ligera implementación de POO no permite sacar el máximo provecho de este modelo de
programación.
• NO soporta tratamiento de procesos como parte del lenguaje.
• NO tiene manejo de excepciones.
• NO incluye operadores a nivel de bits.
• NO permite el manejo de memoria dinámica, punteros, arrays, etc. como parte del lenguaje.
• NO avisa de ciertos errores o advertencias, como la conversión de tipos inadecuada.
• El tratamiento de mensajes de Windows es básico e indirecto.
• La gran gama de controles incorporados son, sin embargo, muy generales, lo que lleva a tener
que reprogramar nuevos controles para una necesidad concreta de la aplicación.
• Los controles personalizados no mejoran la potencia de la API de Windows, y en
determinados casos acudir a ésta será el único modo de conseguir el control personalizado
deseado.
3.7 JAVA.
3.7.1 Leguaje Familiar.
Java no supuso de inicio una transformación total, partiendo del punto que se ha utilizado C y
luego nos hemos movido algo en C++ iniciándonos ya en la programación orientada a objetos.
3.7.2 Lenguaje orientado a objetos.
Para que un lenguaje pueda considerarse orientado a objetos debe soportar como mínimo las
características de:
-encapsulación
-herencia
-polimorfismo
-enlace dinámico.
7/17/2019 InterfazGraficaPDF
http://slidepdf.com/reader/full/interfazgraficapdf 10/10
Instituto Tecnológico de TolucaInterfaz Grafica
Página | 10
3.7.3 Lenguaje robusto.
Uno de los problemas más comunes en los lenguajes de programación es la posibilidad de
escribir programas que pueden bloquear el sistema. Algunas veces este bloqueo puede ser
inmediato, pero en otras ocasiones llega a aparecer inesperadamente porque, por ejemplo, la
aplicación accede a zonas de memoria que no estaban siendo ocupadas por otros programashasta ese momento. Un ejemplo claro de lenguaje no robusto es C. Al escribir código en C o
C++ el programador debe hacerse cargo de la gestión de memoria de una forma explícita,
solicitando la asignación de bloques a punteros y liberándolos cuando ya no son necesarios.
En Java, los punteros, la aritmética de punteros y las funciones de asignación y liberación de
memoria (malloc( ) y free( ) ) no existen. En lugar de los punteros se emplean referencias a
objetos, los cuales son identificadores simbólicos. El gestor de memoria de Java lleva una
contabilidad de las referencias a los objetos. Cuando ya no existe una referencia a un objeto,
éste se convierte en candidato para la recogida de basura (garbage collection).
3.7.4 Lenguaje de alto rendimiento.
Una de las características del lenguaje es que soporta la concurrencia a través de threads. En
ocasiones puede interesarnos dividir una aplicación en varios flujos de control independientes,
cada uno de los cuales lleva a cabo sus funciones de manera concurrente.
Cuando los distintos flujos de control comparten un mismo espacio lógico de direcciones, se
denominan threads.
3.7.5 Lenguaje Portable.
El principal objetivo de los diseñadores de Java, y dado el gran crecimiento de las redes en los
últimos años, fue el de desarrollar un lenguaje cuyas aplicaciones una vez compiladas pudiesen
ser inmediatamente ejecutables en cualquier máquina y sobre cualquier sistema operativo. Por
ejemplo, un programa desarrollado en Java en una estación de trabajo Sun que emplea el
sistema operativo Solaris, debería poderse llevar a un PC que utilice sistema operativo
Windows NT.
3.7.6 Lenguaje lo más simple posible.
Los diseñadores de Java trataron de mantener las facilidades básicas del lenguaje en un
mínimo y proporcionar un gran número de extras con las librerías de clases.
3.7.7 Lenguaje Seguro.Se pretendía construir un lenguaje de programación que fuese seguro, esto es, que no pudiera
acceder a los recursos del sistema de manera incontrolada. Por este motivo se eliminó la
posibilidad de manipular la memoria mediante el uso de punteros y la capacidad de
transformación de números en direcciones de memoria ( tal y como se hace en C ) evitando así
todo acceso ilegal a la memoria. Esto se asegura porque el compilador Java efectúa una
verificación sistemática de conversiones.