Tpampin 1520

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

Programación dirigida por eventos

La programación dirigida por eventos es un paradigma cesa estos parámetros, y produce un resultado, todo de
de programación en el que tanto la estructura como la eje- manera lineal y sin intervención del usuario mientras se
cución de los programas van determinados por los suce- ejecuta.
sos que ocurran en el sistema, definidos por el usuario o Con la aparición y popularización de los PC, el software
que ellos mismos provoquen.
empezó a ser demandado para usos alejados de los clási-
Para entender la programación dirigida por eventos, po- cos académicos y empresariales para los cuales era nece-
demos oponerla a lo que no es: mientras en la programa- sitado hasta entonces, y quedó patente que el paradigma
ción secuencial (o estructurada) es el programador el que clásico de programación no podía responder a las nuevas
define cuál va a ser el flujo del programa, en la programa- necesidades de interacción con el usuario que surgieron a
ción dirigida por eventos será el propio usuario —o lo que raíz de este hecho.
sea que esté accionando el programa— el que dirija el flu-
jo del programa. Aunque en la programación secuencial
puede haber intervención de un agente externo al progra- 1 Detección de eventos
ma, estas intervenciones ocurrirán cuando el programa-
dor lo haya determinado, y no en cualquier momento co-
En contraposición al modelo clásico, la programación
mo puede ser en el caso de la programación dirigida por
orientada a eventos permite interactuar con el usuario en
eventos.
cualquier momento de la ejecución. Esto se consigue de-
El creador de un programa dirigido por eventos debe defi- bido a que los programas creados bajo esta arquitectu-
nir los eventos que manejarán su programa y las acciones ra se componen por un bucle exterior permanente encar-
que se realizarán al producirse cada uno de ellos, lo que gado de recoger los eventos, y distintos procesos que se
se conoce como el administrador de evento. Los eventos encargan de tratarlos. Habitualmente, este bucle externo
soportados estarán determinados por el lenguaje de pro- permanece oculto al programador que simplemente se en-
gramación utilizado, por el sistema operativo e incluso carga de tratar los eventos, aunque en algunos entornos de
por eventos creados por el mismo programador. desarrollo (IDE) será necesaria su construcción.
En la programación dirigida por eventos, al comenzar la Ejemplo de programa orientado a eventos en pseudo len-
ejecución del programa se llevarán a cabo las inicializa- guaje:
ciones y demás código inicial y a continuación el pro-
While (true){ Switch (event){ case mous-
grama quedará bloqueado hasta que se produzca algún
se_button_down: case mouse_click: case keypressed:
evento. Cuando alguno de los eventos esperados por el
case Else: } }
programa tenga lugar, el programa pasará a ejecutar el
código del correspondiente administrador de evento. Por
ejemplo, si el evento consiste en que el usuario ha hecho
clic en el botón de play de un reproductor de películas, se 2 Problemática
ejecutará el código del administrador de evento, que será
el que haga que la película se muestre por pantalla. La programación orientada a eventos supone una compli-
cación añadida con respecto a otros paradigmas de pro-
Un ejemplo claro lo tenemos en los sistemas de progra-
gramación, debido a que el flujo de ejecución del softwa-
mación Lexico y Visual Basic, en los que a cada elemento
re escapa al control del programador. En cierta manera
del programa (objetos, controles, etcétera) se le asignan
podríamos decir que en la programación clásica el flujo
una serie de eventos que generará dicho elemento, como
estaba en poder del programador y era este quien deci-
la pulsación de un botón del ratón sobre él o el redibujado
día el orden de ejecución de los procesos, mientras que
del control.
en programación orientada a eventos, es el usuario el que
La programación dirigida por eventos es la base de lo que controla el flujo y decide.
llamamos interfaz de usuario, aunque puede emplearse
Pongamos como ejemplo de la problemática existente,
también para desarrollar interfaces entre componentes de
un menú con dos botones, botón 1 y botón 2. Cuando el
Software o módulos del núcleo.
usuario pulsa botón 1, el programa se encarga de recoger
En los primeros tiempos de la computación, los progra- ciertos parámetros que están almacenados en un fiche-
mas eran secuenciales, también llamados Batch. Un pro- ro y calcular algunas variables. Cuando el usuario pulsa
grama secuencial arranca, lee parámetros de entrada, pro- el botón 2, se le muestran al usuario por pantalla dichas

1
2 7 VÉASE TAMBIÉN

variables. Es sencillo darse cuenta de que la naturaleza 5.2 Escritorio Windows


indeterminada de las acciones del usuario y las caracte-
rísticas de este paradigma pueden fácilmente desembocar • Visual Basic
en el error fatal de que se pulse el botón 2 sin previamente
haber sido pulsado el botón 1. Aunque esto no pasa si se • Visual C++
tienen en cuenta las propiedades de dichos botones, ha-
ciendo inaccesible la pulsación sobre el botón 2 hasta que
previamente se haya pulsado el botón 1. 5.3 .NET Framework (Escritorio Windows y
Web)

3 GUI’s / Interfaces Gráficas de • Visual Basic


Usuarios • C#

Con la evolución de los lenguajes orientados a eventos, • J#


la interacción del software con el usuario ha mejorado
enormemente permitiendo la aparición de interfaces que, • Lexico
aparte de ser la vía de comunicación del programa con el
usuario, son la propia apariencia del mismo. Estas inter-
faces, también llamadas GUI (Graphical User Interface), 5.4 Otros
han sido la herramienta imprescindible para acercar la in-
formática a los usuarios, permitiendo en muchos casos, a
• AS3
principiantes utilizar de manera intuitiva y sin necesidad
de grandes conocimientos, el software que ha colaborado
a mejorar la productividad en muchas tareas.
Uno de los periféricos que ha cobrado mayor importancia 6 Bibliotecas
tras la aparición de los programas orientados a eventos ha
sido el ratón, gracias también en parte a la aparición de los 6.1 C y C++
sistemas operativos modernos con sus interfaces gráficas.
Estas suelen dirigir directamente al controlador interior • Qt
que va entrelazado al algoritmo.
• GTK+

4 Herramientas visuales de desa-


6.2 Java
rrollo
• AWT
Con el paso del tiempo, han ido apareciendo una nueva
generación de herramientas que incluyen código que au- • Swing
tomatiza parte de las tareas más comunes en la detección
y tratamiento de eventos. • SWT
Destacan particularmente los entornos de programación
visual que conjugan una herramienta de diseño gráfica
para la GUI y un lenguaje de alto nivel. Entre estas herra- 6.3 Web
mientas se encuentra la conocida Visual Basic, lenguaje
altamente apreciado por principiantes debido a la facili- • ASP.NET (Mediante Javascript con el Modelo
dad para desarrollar software en poco tiempo y con pocos Code-behind)
conocimientos, y denostado por tantos otros debido a su
falta de eficiencia.
7 Véase también
5 Lenguajes • Programación estructurada

5.1 Web • Paradigma de programación

• Javascript • Programación lógica


3

8 Referencias
• Grant Palmer: Java Event Handling, Prentice Hall,
ISBN 0-13-041802-1.
• David Luckham: The Power of Events - An Intro-
duction to Complex Event Processing in Distributed
Enterprise Systems, Addison-Wesley, ISBN 0-201-
72789-7.

• George S. Fishman: Discrete-Event Simulation - Mo-


deling, Programming, and Analysis, Springer, ISBN
0-387-95160-1.
• Bertrand Meyer (2004): The power of abstraction,
reuse and simplicity: an object-oriented library for
event-driven design, in Festschrift in Honor of Ole-
Johan Dahl, eds. Olaf Owe et al., Springer-Verlag,
Lecture Notes in Computer Science 2635, en línea.

• Miro Samek: Practical Statecharts in C/C++: Quan-


tum Programming for Embedded Systems, CMP
Books, ISBN 1-57820-110-1.
• Faison, Ted (2006). Event-Based Programming: Ta-
king Events to the Limit. Apress. ISBN 1-59059-643-9.

En español:

• Adolfo Lozano Tello: Iniciación a la programación


utilizando lenguajes visuales orientados a eventos,
Ed.Bellisco Ediciones Técnicas y Científicas, ISBN
84-95279-49-5. ISBN 978-84-95279-49-1

9 Enlaces externos
• Description from Portland Pattern Repository
4 10 ORIGEN DEL TEXTO Y LAS IMÁGENES, COLABORADORES Y LICENCIAS

10 Origen del texto y las imágenes, colaboradores y licencias


10.1 Texto
• Programación dirigida por eventos Fuente: https://es.wikipedia.org/wiki/Programaci%C3%B3n_dirigida_por_eventos?oldid=
89722609 Colaboradores: Moriel, Ascánder, Niqueco, RobotQuistnix, GermanX, Zimio, Djiraan, Chlewbot, CEM-bot, Jorgelrm,
Thijs!bot, Cguzmanceti, Dgilperez, Poc-oban, Myrecaba, Jmvkrecords, AchedDamiman, Ayleen, VolkovBot, SieBot, PaintBot,
Bigsus-bot, Derlis py, Farisori, Fanattiq, Varrojo, Alexbot, UA31, Diego.viola, AVBOT, MastiBot, Diegusjaimes, Arjuno3, Jamierlend,
Alelapenya, SuperBraulio13, Manuelt15, Xqbot, Jkbw, Botarel, Viento Turquesa, RedBot, KamikazeBot, Humbefa, EmausBot, Waka
Waka, Frank sin Otra, Mega-buses, Addbot y Anónimos: 56

10.2 Imágenes

10.3 Licencia del contenido


• Creative Commons Attribution-Share Alike 3.0

También podría gustarte