Section courante

A propos

Section administrative du site

Programmation événementielle

La programmation événementielle, connue en anglais sous le nom de «event-driven programming», est une structure de contrôle obligeant a effectué le développement d'actions basé sur des événements d'entrée (clavier, souris) et sortie (disque, mémoire,...). Elle s'oppose donc, dans son concept, à la programmation séquentielle, car elle cible des endroits précis où l'exécution doit s'effectuer plutôt que de laisser le plein contrôle à une application décidant d'interroger une application au moment qu'il souhaite le clavier par exemple. La façon d'effectuer la programmation événementielle est intéressante, car elle oblige une application à être bien structurée dès le départ, elle s'applique cependant pas bien à toutes les méthodologies de développements, ainsi, la programmation Web client-serveur peut l'intégrer que de façon très légère dans ses processus, tout comme un compilateur n'a pas vraiment une vision dans ce sens. Par contre, lorsqu'on développe dans un environnement multifenêtre ou qu'on souhaite transformer en application une page Web (avec du JavaScript par exemple), la programmation événementielle révèle toute sa force !

Pourquoi précisément dans une page Web, la programmation événementielle devient un avantage aussi important ? Lorsqu'on doit gérer plusieurs processus en même temps, et qu'on leur donne 100% du temps, on fait travailler inutilement la machine pour des situations où il ne devrait rien faire. Par exemple, si le processus ne fait qu'attendre qu'on clic sur un bouton avant d'agir, pourquoi devrait-on consommer 50% de la puissance de la machine alors qu'un autre processus lui aurait besoin bien au contraire d'être en permanence actualisée pour un système de clavardage par exemple. En théorie, on peut donc mieux distribuer la charge des processus en utilisant la «Programmation événementielle» !

Les règles générales appliquées

Avantage

Inconvénient

Dans la pratique, la plupart des applications avec du développement basé sur GUI utilisent la programmation événementielle. De plus, même des moteurs d'exécution JavaScript comme Node.js utilise des événements pour gérer les demandes. Pour ceux cherchant des alternatifs à la programmation événementielle, il existe entre autre les «Automate fini», laquelle est utilisé, par exemple, pour les compilateurs.

Remarques



Dernière mise à jour : Jeudi, le 11 mai 2017