InterfazGraficaPDF

10
Instituto Tecnológico de Toluca Interfaz Grafica Página | 1 Instituto Tecnológico de Toluca Interfaz Grafica Asignatura:  Programación Visual Alumno: Jairo Reyes García No. De Control: 14280914

description

progVisual

Transcript of InterfazGraficaPDF

Page 1: 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

Page 2: InterfazGraficaPDF

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

Page 3: InterfazGraficaPDF

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.

Page 4: InterfazGraficaPDF

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

Page 5: InterfazGraficaPDF

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).

Page 6: InterfazGraficaPDF

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.

Page 7: InterfazGraficaPDF

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.

Page 8: InterfazGraficaPDF

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.

Page 9: InterfazGraficaPDF

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.

Page 10: InterfazGraficaPDF

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.