Programmation événementielle
En informatique, la programmation évènementielle est un paradigme de programmation. Il est fondé sur la réception d'évènements. Ces évènements peuvent être de tous types, et en particulier, toutes les actions que l'opérateur peut réaliser au travers de son interface graphique (par exemple, un déplacement ou un clic de souris, une saisie au clavier)
Historique
La programmation évènementielle est apparue avec l’utilisation des interfaces graphiques (GUI, en anglais : graphical user interface), et spécifiquement avec l'utilisation des langages objets[1].
Description
La programmation évènementielle est un paradigme de programmation fondé sur les évènements. Elle s'oppose à la programmation séquentielle. Le programme sera principalement défini par ses réactions aux différents évènements qui peuvent se produire, c'est-à-dire des changements d'état de variable, par exemple l'incrémentation d'une liste, un déplacement ou un clic de souris, une saisie au clavier[2]...
La programmation évènementielle peut également être définie comme une technique d'architecture logicielle où l'application est une boucle principale divisée en deux sections : la première section détecte les événements et la seconde les gère[2]. Elle est particulièrement mise en œuvre dans le domaine des interfaces graphiques[3].
À noter qu'il n'est pas ici question d'interruptions logicielles : le traitement d'un événement ne peut pas être interrompu par un autre, à part en des points précis explicitement prédéterminés du code logiciel (points qui, en fait, créent une seconde boucle événementielle au sein de la première)[réf. souhaitée].
La programmation événementielle peut être réalisée dans n'importe quel langage de programmation, bien que la tâche soit plus aisée dans les langages de haut niveau. Certains environnements de développement intégrés (par exemple Qt Software) permettent de générer automatiquement le code des tâches récurrentes dans la gestion des événements[4].
Quelques exemples
- Borland Delphi, Borland C++ Builder, Borland J Builder[5] ;
- La bibliothèque Qt[4] (via les slots et signaux, ou boost::signal) ;
- Interfaces graphiques utilisant la Windows API ;
- C# avec les EventHandler (voir Observateur (patron de conception) dans la partie C#) ;
- Tcl/Tk ;
- Swing une bibliothèque graphique Java ;
- MATLAB avec Stateflow et Simulink ;
- Node.js ;
- Android ;
- Tornado ;
- Twisted ;
- nginx serveur web événementiel ;
- Vert.x, moteur événementiel écrit en Java ;
- Visual Basic[5].
Notes et références
- ↑ (en) Abderaouf Bennekrela, « LA PROGRAMMATION ÉVÉNEMENTIELLE », sur ELP-2018, (consulté le )
- 1 2 Florent Grélard, Université de Bordeaux, « Programmation événementielle en Javascript : Initiation au développement Web (Master Bioinformatique) »
[PDF], sur labri.fr, (consulté le ) - ↑ « Chapitre 1 : Introduction à la programmation événementielle »
[PDF], sur technologuepro.com (consulté le ) - 1 2 Michel Grimaldi, « Développement d'applications avec Qt par l'exemple »
, sur grimaldi.univ-tln.fr (consulté le ) - 1 2 « Chapitre 1 : Introduction à la programmation événementielle »
, sur technologuepro.com (consulté le )
Liens externes
Voir aussi
Articles connexes
- Programmation séquentielle
- Programmation informatique
- Portail de la programmation informatique