You are on page 1of 17

UNIVERSIDAD NACIONAL AUTÓNOMA

DE MÉXICO

FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN

PROGRAMACION IV. PROGRAMACION DE


INTERFACES

1. Software especializado para el desarrollo


de interfaces
1.1. Características Generales.
1.2. Gráficas en computadora.

ALUMNO : LIBRADO JIMENEZ PEREZ GRUPO: 2402

PROFESORA: CLAUDIA CRUZ SANCHEZ

1
Contenido
INTRODUCCION ........................................................... 2
1. SOFTWARE ESPECIALIZADO PARA EL
DESARROLLO DE INTERFACES ............................. 4
 Interfaz gráfica de usuario ......................................... 4
1.1 CARACTERISTICAS GENERALES ................... 5
1.1.2 JAVA .................................................................... 5
1.1.3 C#......................................................................... 8
1.1.4 PYTHON ............................................................. 9
1.1.5 RUBY................................................................. 12
1.2 GRAFICOS EN COMPUTADORA ..................... 14

CONCLUSIONES ........................................................ 16
CIBERGRAFIAS .......................................................... 17

2
INTRODUCCION
En la programación además de escribir código y realizar un ejecutable también
se tiene que tomar en cuenta la parte grafica ya que esta es incluso la que mas
importa para el usuario que manipulara el programa o sistema ya que este debe
estar claro y ser intuitivo para el usuario por eso incluso los mismos lenguajes de
programación ofrecen esa parte de lo gráfico.

Los sistemas están hechos para que al usuario le resulte fácil incluso manejar
algunos procesos y a implementarle una interfaz es aún mejor son importantes
para el mejor manejo y uso del sistema ya que por lo general un sistema no debe
ser difícil de dominar por eso algunos lenguajes de programación ofrecen que se
programe tanto en código y además diseñar su propia interfaz que se va tener
junto con las operaciones que esta realizara y así también algunos elementos
con los que se podrá manipular la parte de lo que es lo grafico como lo son barras
de desplazamiento, botones, menús, cajas de texto, etc.

3
1. SOFTWARE ESPECIALIZADO PARA EL DESARROLLO DE
INTERFACES

La interfaz de usuario es parte del software y está diseñada de tal manera que
se espera proveer al usuario con un conocimiento sobre la percepción del
software. La UI (Interfaz de usuario) también aporta una plataforma fundamental
para la interacción entre los humanos y el ordenador.

La UI puede ser gráfica, en forma de texto, audiovisual, dependiendo del


hardware subyacente y su combinación con el software. La UI puede ser un
hardware, un software o una combinación de ambos.

El software suele ser más popular cuando su UI es:

 Atractiva

 Fácil de usar

 De respuesta rápida

 Clara de comprender

 Coherente en toda la pantalla de interfaz

La UI se divide en dos categorías:

 Interfaz de línea de comandos

 Interfaz gráfica de usuario (GUI)

 Interfaz gráfica de usuario


La Interfaz gráfica de usuario está diseñada para interactuar con el sistema. La
GUI puede ser una combinación de hardware y software. Usando una GUI, el
usuario puede interpretar el software.

 Por lo general, la GUI consume más recursos que la CLI. Con tecnología
avanzada, los programadores y diseñadores diseños complejos de GUI
que funcionan con más eficiencia, velocidad y precisión.

Algunos de los softwares más utilizados para el desarrollo de interfaces son

 JAVA
 PYTHON
 C#

4
 RUBY
1.1 CARACTERISTICAS GENERALES

1.1.2 JAVA

Simple
Es un lenguaje sencillo de aprender. Su sintaxis es la de C++
“simplificada”. Los creadores de Java partieron de la sintaxis de
C++ y trataron de eliminar de este todo lo que resultase
complicado o fuente de errores en este lenguaje.

Orientado a Objetos

Posiblemente sea el lenguaje más orientado a


objetos de todos los existentes; en Java todo, a
excepción de los tipos fundamentales de
variables (int, char, long...) es un objeto.

Distribuido
Java está muy orientado al trabajo en red,
soportando protocolos como TCP/IP, UDP,
HTTP y FTP. Por otro lado el uso de estos
protocolos es bastante sencillo
comparandolo con otros lenguajes que los
soportan.

Robusto
El compilador Java detecta muchos errores que otros compiladores solo
detectarían en tiempo de ejecución o incluso nunca. (ej: if(a=b) then ... el

5
compilador Java no nos dejaría compilar este código.
Seguro

Sobre todo un tipo de desarrollo: los Applet. Estos son


programas diseñados para ser ejecutados en una
página web. Java garantiza que ningún Applet puede
escribir o leer de nuestro disco o mandar información
del usuario que accede a la página a través de la red
(como, por ejemplo, la dirección de correo electrónico).
En general no permite realizar cualquier acción que
pudiera dañar la máquina o violar la intimidad del que
visita la página web.

Portable
En Java no hay aspectos dependientes de la implementación, todas las
implementaciones de Java siguen los mismos estándares en cuanto a tamaño y
almacenamiento de los datos. Esto no ocurre así en C++, por ejemplo. En éste
un entero, por ejemplo, puede tener un tamaño de 16, 32 o más bits, siendo lo
única limitación que el entero sea mayor que un short y menor que un long int.
Así mismo C++ bajo UNIX almacena los datos en formato little endian, mientas
que bajo Windows lo hace en big endian. Java lo hace siempre en little edian
para evitar confusiones.

Arquitectura Neutral
El código generado por el compilador Java es independiente de la arquitectura:
podría ejecutarse en un entorno UNIX, Mac o Windows. El motivo de esto es que
el que realmente ejecuta el código generado por el compilador no es el
procesador del ordenador directamente, sino que este se ejecuta mediante una
máquina virtual. Esto permite que los Applets de una web pueda ejecutarlos
cualquier máquina que se conecte a ella independientemente de que sistema
operativo emplee (siempre y cuando el ordenador en cuestión tenga instalada
una máquina virtual de Java).

6
Rendimiento medio

Actualmente la velocidad de procesado del código Java es semejante a la de


C++, hay ciertos pruebas estándares de comparación (benchmarks) en las que
Java gana a C++ y viceversa. Esto es así gracias al uso de compiladores just in
time, compiladores que traduce los bytecode de Java en código para una
determinada CPU, que no precisa de la máquina virtual para ser ejecutado, y
guardan el resultado de dicha conversión, volviéndolo a llamar en caso de
volverlo a necesitar, con lo que se evita la sobrecarga de trabajo asociada a la
interpretación del bytecode.
No obstante por norma general el programa Java consume bastante más
memoria que el programa C++, ya que no sólo ha de cargar en memoria los
recursos necesario para la ejecución del programa, sino que además debe
simular un sistema operativo y hardware virtuales (la máquina virtual). Por otro
lado la programación gráfica empleando las librerías Swing es más lenta que el
uso de componentes nativos en las interfaces de usuario. En general en Java se
ha sacrificado el rendimiento para facilitar la programación y sobre todo para
conseguir la característica de neutralidad arquitectural, si bien es cierto que los
avances en las máquinas virtuales remedian cada vez más estas decisiones de
diseño.
Multihilo
Soporta de modo nativo los threads, sin necesidad del uso de de librerías
específicas (como es el caso de C++). Esto le permite además que cada Thread
de una aplicación java pueda correr en una CPU distinta, si la aplicación se

7
ejecuta en una máquina que posee varias CPU. Las
aplicaciones de C++ no son capaces de distribuir, de modo transparente para el
programador, la carga entre varias CPU.

1.1.3 C#

Facilidad de uso: el ambiente de trabajo es muy cómodo ya que tiene un


ambiente amigable y clásico de las aplicaciones de Windows. En cuanto a la
forma de programar, será fácil de usar para quien está familiarizado con C++, ya
que su estructuración básica es muy similar, sin embargo C# ahorra muchos
pasos “tediosos” de otros lenguajes como la creación de funciones complejas
desde cero y declaración de variables globales.

Programación orientada a objetos: esta forma de programación ahorra mucho


código, lo cual indica que partes de código son reutilizables para no volverlas a
escribir, con lo cual se afirma que C# presenta las características necesarias
para considerarlo como un lenguaje orientado a objetos, tales son:
encapsulación, herencia y polimorfismo; además una de las mejoras que
presenta este lenguaje con respecto a este tipo de programación es que para
evitar confusiones no existen variables o funciones globales, sino que se definen
dentro de los tipos de datos. En cuanto a la herencia, esta solo puede ser
herencia simple, con lo cual se evitan confusiones que si fuera herencia múltiple.

Administración de memoria: C# tiene la característica de inicializar los datos o


variables declaradas en el programa, además de que también de forma
automática libera la memoria cuando el mismo programa lo cree conveniente. Es
decir tiene constructores y destructores, y estos actúan automáticamente a
menos que se manipulen desde el código.

Seguridad en el manejo de datos: C# tiene la característica de estar


comprobando que efectivamente los tipos de datos que se estén manejando
correspondan a los validados para las funciones que han sido creadas; así
también vigila que no se produzcan errores en operaciones matemáticas,
además de que también impide el uso de variables que no han sido inicializadas.

8
Todo esto permite que no se produzcan errores en el momento de la ejecución.

Sistema de tipos unificado: todos los tipos de datos que se definan siempre se
derivarán, incluso de forma implícita, de una clase base común llamada
System.Object, por lo que dispondrán de todos los miembros definidos en ésta
clase.

La ventaja de que todos los tipos se deriven de una clase común es que facilita
el diseño de colecciones genéricas que puedan almacenar objetos de cualquier
tipo.

Uso de operadores: este lenguaje permite de forma automática la manera en


que pueden trabajar los operadores, ya sea de tipo lógico, aritmético, etc. Es
decir dependiendo del contexto de donde se encuentre el operador, el programa
detecta que tipo de uso debe tener el operador.

Compatible: C# no sólo mantiene una sintaxis muy similar a C, C++ o Java que
permite incluir directamente en código escrito en C# fragmentos de código escrito
en estos lenguajes, sino que el runtime de lenguaje común también ofrece la
posibilidad de acceder a código nativo escrito como funciones sueltas no
orientadas a objetos tales como las DLLs de la API Win32.

1.1.4 PYTHON

Características de Python
Simple

Python es en lenguaje simple y minimalístico. Leer un buen programa de Python se


siente como leer Ingles (pero un muy estricto Ingles!). El pseudo-código natural de
Python es una de sus grandes fortalezas ya que permite concentrarse en la solución del
problema en lugar de la sintaxis, es decir el propio lenguaje.

Sencillo de Aprender

Como veras, con Python es extremadamente sencillo de iniciarse en la


programación ya que ofrece una sintaxis extraordinariamente simple, a la que ya
hicimos mención.

9
Libre y Fuente Abierta

Python es un ejemplo de un FLOSS (Free/Libre and Open Source Software -


Gratuito/Libre y Software de Fuente Abierta). En términos simples, puedes
distribuir libremente copias de este software, leer su código fuente, hacerle
cambios, usar partes del mismo en nuevos programas libres, y en general lo que
quieras. FLOSS esta basado en un concepto de una comunidad que comparte
conocimiento. Esta es una de las razones por las cuales Python es tan bueno,
ha sido creado y mejorado por una comunidad que solo quiere ver un mejor
Python.

Lenguaje de Alto Nivel

Cuando escribes programas en Python nunca debes preocuparte por detalles de


bajo nivel, como manejar la memoria empleada por tu programa.

Portable

Debido a su naturaleza de ser Open Source, Python ha sido portado (es decir,
cambiado para hacerlo funcionar) a diversas plataformas. Todos tus programas
trabajaran en alguna de esas plataformas sin requerir cambio alguno. Sin
embargo, debes ser lo suficientemente cuidadoso de evitar las características
con dependencia de sistema (es decir librerías o módulos que funcionan sólo en
un Sistema en Particular).

Puedes usar Python sobre Linux, Windows, Macintosh, Solaris, OS/2, Amiga,
AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acorn RISC
OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE y PocketPC !

Interpretado

Esto requiere un poco de explicación.

Un programa escrito en un lenguaje compilado como C o C++ es traducido de


un lenguaje fuente (como los mencionados) en uno hablado por la computadora
(código binario, es decir ceros y unos) empleando un compilador con varias
opciones. Cuando ejecutas el programa, el software enlazador/cargador solo
10
guarda el código binario en la memoria de la computadora e inicia la ejecución
desde la primera instrucción en el programa.

Cuando usas un lenguaje interpretado como Python, no existen compilaciones


separadas y pasos de ejecución. Solo ejecutas el programa desde el código
fuente. Internamente, Python convierte el código fuente en una forma intermedia
llamada bytecodes, después los traduce en el lenguaje nativo de tu computadora
y ejecuta. Todo esto hace el uso de Python mucho más sencillo. Solo
debes ejecutar tus programas - no debes preocuparte sobre enlazar y cargar
librerías, etc. Esto lo convierte en portable, ya que solo debes copiar el código
de tu programa Python en cualquier otro sistema y trabajará igualmente.

Orientado a Objetos

Python permite programación orientada a procedimientos así como orientada a


objetos. En lenguajes orientados a procedimientos, el programa está construido
sobre procedimientos o funciones los cuales no son nada más que piezas de
programa reutilizables. En lenguajes orientados a objetos, el programa es
construido sobre objetos los cuales combinan datos y funcionalidad. Python
ofrece una manera muy poderosa y simple de emplear programación orientada
a objetos, especialmente, cuando se compara con lenguajes como C++ o Java.

Ampliable

Si necesitas que una pieza de código se ejecute muy rápido, puedes lograrlo
escribiéndola en C y después combinarla con tu programa de Python.

Incrustable

Puedes insertar Python dentro de tu programa en C/C++ para ofrecer las


facilidades de "scripting" dentro del mismo.

Librerías Extendidas

La librería estándar de Python es de hecho muy amplia. Puede ayudarte a hacer


varias cosas que involucran: expresiones regulares, generación de documentos,
evaluación de unidades, pruebas, procesos, bases de datos, navegadores web,

11
CGI, ftp, correo electrónico, XML, XML-RPC, HTML, archivos WAV, criptografía,
GUI(graphical user interfaces/interfase grafica del usuario) usando Tk, y también
otras funciones dependientes del Sistema. Recuerde, todo esto está siempre
disponible donde quiera que Python se instala y forma parte de la denominada
filosofía de Python "batteries included" ("baterias incluidas")

Además de la librería estándar, hay otras librerías de calidad superior como


el Python Imaging Library que es una sorprendente librería para la manipulación
de imágenes.

Sumario
Python es un excitante y poderoso lenguaje. Tiene la combinación precisa de
performance y funcionalidades que permiten escribir programas de manera
divertida y sencilla.

1.1.5 RUBY

Características de Ruby

-Todo es un objeto

En Ruby, se combinan las capacidades de los lenguajes funcionales con las de


los lenguajes imperativos orientados a objetos, de esta manera cada elemento
en Ruby tiene un compartimiento similar, pero personalizado para las
conveniencias de cada usuario. Tanto así que incluso se pueden escribir
métodos a números que escribimos normalmente, es decir podemos hacer:

5. times print {“Ruby es lo mejor”}

-Bloques

Funcionalidad traspasada de los lenguajes funcionales, uno puede escribir un


bloque de código llamado cláusula a cualquier método, para describir cómo debe
actuar. Estos bloques tienen la función de poder encerrar un conjunto de
condigo, dándole una función. Estos solo podrán ser digitados después de un
método.

La apariencia visual de Ruby

12
A pesar de que Ruby utiliza la puntuación muy limitadamente y se prefieren las
palabras clave en inglés, se utiliza algo de puntuación para decorar el código.
Ruby no necesita declaraciones de variables. Se utilizan convenciones simples
para nombrar y determinar el alcance de las mismas.

♦ var puede ser una variable local.

♦ @var es una variable de instancia.

♦ $var es una variable global

Estos detalles mejoran la legibilidad permitiendo que el desarrollador identifique


fácilmente los roles de las variables. También se hace innecesario el uso del
molesto self. Como prefijo de todos los miembros de instancia.

Además… Ruby además posee otras funcionalidades para aclarar la vida los
programadores, entre la cuales están:

♦ Manejo de Excepciones

♦ Mark and Sweep Garbage collector

♦ Mucho soporte para comunicación con C, con un agradable API para utilizar
Ruby desde C

♦ Manejo de multitareas (Threads) independiente del sistema operativo, puedes


incluso usar threads en DOS!

♦ Gran Portabilidad, corre en toda clase de sistemas Linux/Unix, Windows, OS/2,


dos, etc…

13
1.2 GRAFICOS EN COMPUTADORA
Barra de desplazamiento

La barra de desplazamiento es un elemento de las interfaces gráficas que


constan de una barra horizontal o vertical con dos extremos con flechas que
apuntan en sentidos contrarios y que suelen ubicarse en los extremos de una
ventana o recuadro.

Barra de Progreso

Elemento en las interfaces gráficas que permiten mostrar de forma gráfica el


estado de avance de una tarea o proceso.

Barra de Titulo

14
Elemento de las interfaces gráficas que se encuentra en la parte más superior
de una ventana, donde aparece un título que se corresponde con el contenido
de la misma.

Botón

En interfaces gráficas de usuario, los botones son tipos de widget que permiten
al usuario comenzar un evento, como buscar, aceptar una tarea, interactuar con
un cuadro de diálogo, etc.

Botón de Opción

Elemento en las interfaces gráficas que permite elegir sólo una opción de un
conjunto predefinido de opciones.

15
CONCLUSIONES

Las interfaces graficas son importantes para un sistema para facilitar su uso
además de que es muy eficiente si se lleva a implementar un programa o un
sistema son tan indispensables algunos elementos como los botones, menús,
cajas de texto y barras de desplazamiento que son necesarios para la
manipulación de interfaces ya que esto hace que se las operaciones del
programa resulten más fáciles de hacer y sean intuitivas como se vio hay
software especializado para el desarrollo de interfaces gráficas.

16
CIBERGRAFIAS
https://www.tutorialspoint.com/es/software_engineering/software_user_interface
_design.htm

http://www.elwebmaster.com/referencia/api-interface-de-programacion-de-
aplicaciones

https://es.wikipedia.org/wiki/Interfaz_de_programaci%C3%B3n_de_aplicacione
s

https://www.youtube.com/watch?v=S9zx7x-AX3g

http://programacion1abundiz.blogspot.mx/2009/09/generalidades-y-
caracteristicas-c_08.html

https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Ruby/Caracter%C3%A
Dsticas_especiales_del_lenguaje

http://es.slideshare.net/ivancmontero/elemento-tipicos-de-las-interfaces-
graficas-de-usuario

17

You might also like