No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Adquiere por un a帽o todos los cursos, escuelas y certificados por un precio especial.

Antes: $249

Currency
$219/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comprar ahora

Termina en:

0D
17H
44M
43S

Programaci贸n dirigida por eventos

11/21
Recursos

La programaci贸n dirigida por eventos se caracteriza por no controlar la secuencia de ejecuciones. M谩s bien, en la programaci贸n dirigida por eventos se reacciona a los sucesos ocurridos. Para ello, generalmente los programas corren indefinidamente integrando manejadores de eventos (event handlers).

Eventos y event handler

Los programas dirigidos a eventos se mantienen en estado de reposo, hasta que una acci贸n dispara un event handler. Este se encarga de procesar el evento en cuesti贸n. Algunos eventos comunes son:

  • Clics (ya sea en un mouse, teclado, pantalla, etc.)
  • Sensores (de temperatura, movimiento, etc.)
  • Mensajes
  • Triggers
  • Casos de aplicaci贸n
  • Solicitudes HTTP

Casos de uso

Entre los casos de uso de la programaci贸n dirigida a eventos encontramos.

  • GUIs
  • Aplicaciones web
  • Sistemas de booking
  • Sistemas de alarmas
  • Rob贸tica
  • Videojuegos

Funcionamiento

En la programaci贸n imperativa tenemos una secuencia de pasos que se van a ejecutar de manera secuencial, y despu茅s puede repetirse el ciclo o puede llegar a detenerse el programa porque as铆 lo decidimos o porque forzamos su detenci贸n.

Por otro lado, en la programaci贸n dirigida por eventos, tenemos un ciclo el cual mientras haya una condici贸n que sea verdadera, se puede estar ejecutando de manera indefinida. Este ciclo va a escuchar ciertos eventos que van a modificar algunas variables de estado (por ejemplo, el contador de vidas en un videojuego). La modificaci贸n de estas variables puede resultar en que el ciclo se detenga, y que el programa finalice.

Lenguajes y ejemplos

Algunos lenguajes que implementan este paradigma son:

  • Java
  • JavaScript
  • C#
  • Librer铆as/Frameworks de GUI
    • JavaFX, React.js, PyQT
  • Pr谩cticamente, cualquier lenguaje orientado a objetos.

Aqu铆 vemos un ejemplo en JavaScript. Nota el uso de addEventListener
Ejemplo en JavaScript

Y un ejemplo en Java. A帽adimos un event listener con addMouseListener

Ejemplo en Java

Conclusi贸n

La programaci贸n dirigida por eventos nos permite tener programas que corran indefinidamente, y que respondan cuando ocurre un evento. Deja en los comentarios si consideras que la programaci贸n orientada a eventos es un paradigma imperativo o declarativo 馃槈.

Contribuci贸n creada por: Ciro Villafraz con los aportes de Valentina Barrios.

Aportes 56

Preguntas 3

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

La programaci贸n orientada a eventos es una mezcla de ambas, ya que en algunos casos tienes qu茅 decirle que quieres hacer o en otros decirle c贸mo hacerlo.
.
Este paradigma lo conoc铆 con Java al ver que ten铆a manejadores de eventos en sus ventanas gr谩ficas jaja.
.
Otro ejemplo de programaci贸n orientada a eventos es Arduino, 驴recuerdan ese Arduino que hizo Freddy en el curso de programaci贸n b谩sica? Eso reaccionaba a los niveles de luz que detectaba el sensor, eso es reaccionar a un evento 馃憖

Un evento puede ser un clic en un bot贸n de un formulario. Otro que se usa mucho en web es cuando carga una pagina. Todo esos son eventos y son los que controlan el flujo del programa.
Me acabo de dar cuenta que cuando hice un programa en python con un desarrollo grafico con SimplePY, lo hice con el paradigma dirigida a eventos. Como dijo al principio, podemos usar un paradigma y ni saber que es eso鈥 馃榿

Hola Platzinauta. 馃憢
Te comparto mis apuntes para que #NuncaParesDeAprender. 馃憖鉁

Programaci贸n dirigida por eventos

Se caracteriza porque no controla la secuencia de ejecuciones, reacciona a los sucesos ocurridos.

Generalmente los programas corren indefinidamente integrando manejadores de eventos (event handlers).

Eventos

  • Clicks
  • Teclas
  • Sensores
  • Mensajes
  • Triggers

Casos de aplicaci贸n

  • GUIs
  • Aplicaciones web
  • Sistemas de booking
  • Sistemas de alarmas
  • Rob贸tica
  • Videojuegos

C贸mo funciona

S铆 lo comparamos con la programaci贸n imperativa, tenemos una secuencia de pasos que se van a ejecutar de manera secuencial y despu茅s puede repetirse el ciclo o puede llegar a detenerse el programa porque as铆 lo decidimos o porque forzamos su detenci贸n. En la programaci贸n dirigida por eventos, tenemos un ciclo que puede ser un while el cu谩l mientras haya una condici贸n sea verdadera o falsa, se puede estar ejecutando de manera indefinida. Entonces este ciclo va a recibir ciertos eventos que van a modificar algunas variables de estado, que puede ser como el caso de un videojuego, el contador de vidas, en el cual la condici贸n dice que mientras que el n煤mero de vidas sea mayor que 0, se va a estar ejecutando el programa, pero habr谩n ciertos eventos que van a hacer que ese n煤mero de vidas disminuya o aumenten y por consecuencia el videojuego termine en ese ciclo.

Lenguajes

  • Java

  • Javascript

  • C#

  • Librer铆as/Frameworks de GUI

    -JavaFX, React.js, PyQT

  • Pr谩cticamente cualquier lenguaje orientado a objetos.

Considero que est谩 programaci贸n dirigida por eventos tiene elementos de imperativo y un elemento de declarativo,

Dado que nosotros no especificamos c贸mo escuchar谩, simplemente le decimos qu茅 escuchar (en JavaScript agregamos un eventListener con el elemento y ya) pero si definimos paso a paso qu茅 har谩 y c贸mo lo har谩 cuando el evento suceda. No s茅 si estar茅 equivocado que piensan los dem谩s compa帽eros?

Yo veo a la programaci贸n dirigida por eventos, m谩s allegada al paradigma declarativo, dado que en la programaci贸n por eventos, estamos en espera de que ocurra alguna acci贸n del usuario, por ejemplo, para responder a dicha petici贸n o acci贸n.

Como mencionan mis otros compa帽eros, este tipo de programaci贸n puede incluir otros paradigmas de programaci贸n. Por ejemplo, cuando creamos una intefaz CRUD C# mediante Windows Forms, o en Visual Basic, desarrollamos clases donde tendremos la conexi贸n a la Base de Datos, otras clases que se encarguen de la l贸gica de negocio, y en la interfaz tendremos eventos por ejemplo un Buttom 鈥淕uardar鈥, una vez que el usuario haga click sobre el boton, se disparar谩 el evento y realizar谩 las acciones que definimos.

馃摝 La programaci贸n dirigida por eventos permite que la estructura como la ejecuci贸n de los programas sean determinados por los sucesos que ocurran en el sistema, definidos por el usuario.

La programaci贸n por eventos creo que es mas imperativa pero tambi茅n tiene elementos de la programaci贸n declarativa.

La programaci贸n dirigida por eventos tiene caracteristicas del paradigma imperativo y declarativo.
.

Me parece que la programaci贸n por eventos es Imperativa, ya que cambia el estado de la aplicaci贸n.

El padre del desarrollo estructurado (que no de la programaci贸n estructurada ojo) fue Larry LeRoy Constantine bajo el ala del Instituto de Investigaci贸n de Sistemas de IBM.

La programaci贸n dirigida por eventos es un paradigma de programaci贸n imperativa, ya que requiere de la especificaci贸n de la l贸gica de la aplicaci贸n a trav茅s de un conjunto de instrucciones expl铆citas. En un programa dirigido por eventos, el flujo de control de una aplicaci贸n se basa en la detecci贸n y respuesta a eventos externos como pulsaciones de teclado, movimientos del rat贸n, se帽ales de red, etc. Los ejemplos de c贸digo a continuaci贸n muestran c贸mo esto se lleva a cabo en diversos lenguajes de programaci贸n:

// JavaScript -
document.addEventListener("click", function(){
alert("Has hecho click!");
});
// Java -
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("Has hecho click!");
}
});
// C# -
button.click += new EventHandler(delegate{
MessageBox.Show("Has hecho click!");
});

La programacion dirigida por eventos es un paradigma en el que el c贸digo 鈥渞eacciona鈥 o se activa cuando detecta un evento espec铆fico.

Yo creo que es mas imperativa que declarativa porque se le tiene que decir lo que tiene que hacer cuando sean activados sus eventos.

En la programaci贸n existe la programaci贸n orientada a eventos, en la que un evento es un mensaje de software que indica que algo ha ocurrido, como un tecleo o un click de un mouse. En el control de procesos, un evento es una ocurrencia que ha ocurrido y que ha sido registrado.

Me parece que la declaraci贸n dirigida por eventos es declarativa pues tambi茅n en el video el profe hizo un contraste entre la programaci贸n imperativa (lo secuencial que es) y procesos dirigidos por eventos.

Programaci贸n dirigida por eventos:
Es un paradigma de programaci贸n en el que el flujo del programa est谩 determinado por eventos o mensajes desde otros programas o hilos de ejecuci贸n, estas interrupciones pueden suceder en cualquier momento y no cuando el programa lo indique.

Si aun no has tomado el curso gratis de de programaci贸n b谩sica, un ejemplo practico es la clase 15: Eventos y Formularios en HTML y JavaScript y la clase 16:** Detectar eventos del teclado con JavaScript**, aun as铆 es un buen repaso, para entender mejor si vas iniciando as铆 como yo :3

Yo considero que la programaci贸n dirigida por eventos tiene ambos mundos de los paradigmas, tanto imperativa como declarativa. Principalmente, por que cuando, por ejemplo, se quiere programar un bot贸n no sabes como funciona la lectura de ese evento, solo declaro que va a pasar cuando le de click, por ejemplo. Y en esas instrucciones puede darse el caso de utilizar programaci贸n estructurada y orientada a objetos. En Java es com煤n que cuando le des un click a un bot贸n de registrar se cree un nuevo objeto de una clase.

es imperativa?

Yo creo que puede ser una mezcla de los dos paradigmas, debido a que no sabemos como funciona un action listener, pero lo usamos porque sabemos cu谩l ser谩 el resultado de que se active esa acci贸n. Por otra parte, hay que hacer algunos funcionamientos en el programa que solo nosotros sabemos c贸mo se realizan, por ejemplo obtener dos n煤meros y sumarlos como en una calculadora.

Creo que la programaci贸n por eventos, es en parte declarativa y en parte imperativa. - Declarativa: Porque no impone un flujo r铆gido. Maneja una serie de condicionales, adaptando la ejecuci贸n del c贸digo, a los eventos que van sucediendo. - Imperativa: Porque para un evento concreto, posee una serie de instrucciones definidas, que s铆 son imperativas.

PARADIGMA DE PROGRAMACI脫N DIRIGIDA A EVENTOS
.
El paradigma de programaci贸n dirigida a eventos (event-driven) se caracteriza porque no controla la secuencia de ejecuci贸n sino que reacciona a los suceso que ocurren. Estos sucesos son percibidos por manejadores de eventos (event handlers).
.
Cuando el programa se ejecuta de manera indefinida pueden ocurrir estos eventos y de ah铆 se generan una serie de acciones o procedimientos.
.
Tipos de eventos
.

  • Clicks.
  • Teclas.
  • Sensores.
  • Mensajes.
  • Triggers.
    .
    Casos de aplicaci贸n
    .
  • GUIs.
  • Aplicaciones WEB.
  • Sistemas de booking.
  • Sistemas de alarmas.
  • Rob贸tica.
  • Videojuegos.
    .
    Lenguajes que lo implementan
    .
  • Java.
  • JavaScript.
  • C#.
  • Librerias/frameworks de GUI.
  • Cualquier lenguaje orientado a objetos.

Imperativa; se da una listade ordenes que se van a ejecutar de manera secuencial

Bueno de la programacion orientada a eventos no tenia ni idea que se puede usar de este modo. Ahora que tengo la teoria bastante clara ya entiendo porque este evento es muy usado en JS o en frameworks. La verdad si que es importante conocer esto para no estar perdido en los lenguajes.

Primera vez que escucho este t茅rmino pero lo he utilizado cuando he programado PLCs o Microcontroladores y he combinado los eventos con POO

Pensando su definici贸n se usa mucho en procesos industriales. Tambi茅n veo que, a la final, al desarrollar software, vamos a trabajar con casi todos los paradigmas en conjunto.

Mi experiencia con este paradigma de programaci贸n es algo distinta, en mi caso la entiendo gracias a microcontroladores, donde hay un n煤cleo de procesamiento y peque帽os perif茅ricos con hardware bien definido esperando eventos o Interrupciones programados por el desarrollador para iniciar su trabajo, estos perif茅ricos serian contadores, m贸dulos de comunicaci贸n o moduladores de ancho de pulso. al definirlos el paradigma es declarativo a mi entender.

La programaci贸n dirigida por eventos se considera un paradigma de programaci贸n declarativo. En este enfoque, el programador se enfoca en especificar qu茅 eventos desencadenan qu茅 acciones, en lugar de controlar expl铆citamente el flujo de la aplicaci贸n. En otras palabras, se especifica qu茅 debe hacerse en respuesta a un evento, pero no c贸mo debe hacerse. Por lo tanto, el 茅nfasis est谩 en la descripci贸n de las relaciones entre los eventos y las acciones, en lugar de en los detalles de implementaci贸n.

En resumen, la programaci贸n dirigida por eventos es declarativa porque describe el comportamiento deseado en t茅rminos de relaciones entre eventos y acciones, en lugar de especificar paso a paso c贸mo lograr ese comportamiento.

La programaci贸n por eventos puede usar ambas: la programaci贸n imperativa y la programaci贸n declarativa.

Yo dir铆a que esta compuesto por ambos factores, ya que imperativamente como desarrolladores le estamos indicando a trav茅s de c贸digo que ejecute una serie de pasos y este de manera declarativa los va a a ejecutar seg煤n como le hayamos indicado.

.

es imperativa.

La programaci贸n dirigida por eventos es un tipo de programaci贸n imperativa. En la programaci贸n dirigida por eventos, se especifican tanto qu茅 se quiere lograr como c贸mo se quiere lograr, y el control del flujo de ejecuci贸n es esencial.

En la programaci贸n dirigida por eventos, el programa espera a que ocurra un evento (como un clic en un bot贸n o una entrada de teclado del usuario) y luego ejecuta ciertas acciones en respuesta a ese evento. Esto significa que el programa tiene un cierto control sobre el flujo de ejecuci贸n, ya que espera a que ocurran ciertos eventos antes de realizar ciertas acciones.

En comparaci贸n, en la programaci贸n declarativa, el enfoque se centra en lo que se quiere lograr y no en c贸mo se quiere lograr, y el control del flujo de ejecuci贸n es menos importante.

En resumen:

La programaci贸n dirigida por eventos es un paradigma/t茅rmino com煤n en el vocabulario cient铆fico y en expresiones epistemol贸gicas cuando se hac铆a necesario hablar de modelos o patrones. de programaci贸n en el que la estructura y la ejecuci贸n de los programas van determinados por los sucesos o acciones que ocurren en el sistema, definidos por el usuario o por el propio sistema.

La programaci贸n dirigida por eventos es muy f谩cil de usar y es adecuada para aquellas personas que tienen poco conocimiento en programaci贸n. Con los lenguajes orientados a eventos se pueden realizar en poco tiempo aplicaciones sencillas y muy funcionales, utilizando interfaces gr谩ficas en las que se insertan componentes o controles a los que se le programan eventos. Dichos eventos permiten al usuario realizar una serie de acciones l贸gicas para un determinado programa.

Dentro de las herramientas de programaci贸n dirigida por eventos se encuentra el Mit App Inventor, este maneja una serie de componente/elemento que presta un servicio de comunicaci贸n cuando se dise帽an interfaces o controles con propiedades que se pueden cambiar para que el componente se muestre en pantalla de forma diferente o act煤e de otra manera dentro de la aplicaci贸n. Para cambiar las propiedades de un componente, primero debemos seleccionar el componente deseado en la lista de componentes, tambi茅n debemos tener en cuenta que hay algunos valores de propiedades de algunos componentes que no son modificables y otros que s铆 lo son.

Otro aspecto a tener en cuenta en la programaci贸n dirigida por eventos es el comprender y tener bien claro el concepto de los siguientes t茅rminos:

  • Evento
  • Propiedades
  • M茅todos

Programaci贸n dirigida por eventos

Definici贸n

Se caracteriza m谩s que nada a que no se basa en un orden de ejecuciones, sino que reacciona a ciertos sucesos m谩s conocidos como eventos, los cuales corren indefinidamente en un programa a traves de manejadores de eventos (event handlers).

Eventos

Los eventos pueden ser m谩s que nada, acciones que realiza el usuario o tambien se帽ales que envia la computadora. Por ejemplo, Clicks, Teclas, Sensores, Mensajes, Triggers.
Los casos m谩s comunes de uso son, aplicaciones web, interfaces de usuarios, alarmas, robotica, etc.

Funcionamiento

La programaci贸n dirigida por eventos funciona como si tuviera un ciclo while que se ejecuta de manera indefinida, y dentro de este tuvieramos los event handler que nos avisar谩 si ocurri贸 cierto evento, los cuales activarian cierta acci贸n.

Ejemplo de lenguajes: Java, JavaScript, C#, etc.

Considero que la PDE contiene de las dos: imperativas y declarativas, por el mismo modo que est谩s deben de estarse sujetando para cumplir con un inicio y final.

Yo considero que en cierta forma abarca ambos paradigmas, en un principio saber que la programaci贸n dirigida por eventos se encuentra m谩s en programas desarrollados bajo la _POO _ciertamente nos da la idea de que estamos trabajando bajo un paradigma imperativo, puesto de describimos objetos con 贸rdenes espec铆ficas y detallando circunstancias para que se ejecuten ciertos m茅todos; no obstante, una vez que el programa funciona en su integridad y apreciamos el resultado final podemos decir que estamos ante un programa que corre bajo un paradigma declarativo,pues todo est谩 automatizado y evitamos dar demasiados detalles para el proceso, simplemente ocurre un est铆mulo y este se procesa autom谩ticamente para determinar si ocurre o una una acci贸n predefinida, y tambi茅n evitamos generar efectos colaterales.
A lo mejor y estoy mezclando conceptos y estoy bien equivocado xD pero es mi respuesta

Ya dio la respuesta cuando menciono la parte de 鈥榗omo funciona鈥, la programacion dirigida por eventos es imperativa

Por lo aprendido en clase, la programaci贸n por Eventos llega a ser Declarativa ya que desde una visi贸n del concepto de Paradigma, es la forma como estar铆amos controlando y ejecutando diferentes acciones de una aplicaci贸n independientemente de que los disparadores sean secuenciales o eventuales lo que nos hace pensar que no podr铆a ser Declarativa.

La programaci贸n orientada a eventos puede ser ambas declarativa e imperativa.

El paradigma por eventos tiene una combinaci贸n de los dos, tanto se programa para un resultado, como se ordena una secuencia de acciones al ocurrir ese evento.

Programaci贸n dirigida por eventos

  • No controla la secuencia de ejecuciones, reacciona a los eventos ocurridos
  • Funcionan con event handlers
  • Eventos: clicks, teclas, sensores, mensajes, triggers
  • Casos de aplicaciones: GUIs, Aplicaciones Web, Sistemas de booking, Sistemas de alarmas, Rob贸tica, Videojuegos

yo opino que es primero declarativa y luego imperativa, declaras valores que luego haran una cosa u otra

Gracias!! yo dir铆a que es imperativa!

Considero que la programacion dirigida por eventos es imperativa, ya que con los eventos se va a definir el flujo del programa o el desarrollo que se haya creado.

Desde mi punto de vista la programaci贸n orientada a eventos tiene detr谩s el imperativo y el declarativo. Ya que, el evento ya sea como el eventListener ha tenido que ser desarrollado siguiendo un procesos ordenados paso por paso y tambi茅n hace uso de funciones.

es imperativa

hmm javascript

La programaci贸n dirigida por eventos es absolutamente necesaria en el desarrollo de videojuegos.

Considero que la programacion por eventos es declarativa, pero tambien tiene
bases de programacion imperativa ya que se deben controlar los estados de finalizaci贸n y control de los programas.

La programaci贸n orientada a eventos es declarativa, ya que debemos modificar el uso del evento para hacer uso de su utilidad como evento

馃槂