BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités La Programmation Réactive comme tendance émergente

La Programmation Réactive comme tendance émergente

La Programmation Réactive (PR) est basée sur les flux de données et la propagation des changements, avec le modèle d'exécution sous-jacent du langage de programmation propageant automatiquement les changements à travers le flux de données. Avec la popularité des architectures évènementielles, scalables et interactives à la fois sur le serveur et le client, le concept de "réactivité" retient de plus en plus l'attention.

InfoQ a déjà couvert ce paradigme depuis quelques années et il y a quelques semaines, la firme de recherche Gartner a inclus la "Programmation Réactive" et le "Web Evènementiel" dans sa publication Cycle Hype pour le Développement d'Application, 2013(section "En hausse").

Il y a un mois, Bruce Eckel, auteur de plusieurs livres sur la programmation et Jonas Boner, créateur d'Akka et Directeur Technique de Typesafe, ont publié "Le Manifeste Réactif" qui tente de définir ce que sont les application réactives.

Ces applications doivent être capable de :

  • Réagir aux évènements : la nature évènementielle permet les qualités suivantes.
  • Réagir à la charge : se concentrer sur la scalabilité plutôt que sur la performance d'un seul utilisateur.
  • Réagir aux erreurs : construire des systèmes robustes dotés de la capacité de se remettre à tous les niveaux.
  • Réagir aux utilisateurs : combiner les traits précédents pour une expérience utilisateur interactive.

A la suite de la publication de ce manifeste, Martin Odersky, créateur de Scala, Erik Meijer, créateur de Reactive Extensions et Roland Kuhn le Tech Lead d'Akka ont annoncé un cours gratuit sur Coursera appelé "Principes de Programmation Réactive":

L'objectif de ce second cours est d'enseigner les principes de la programmation réactive. La programmation réactive est une discipline émergente qui combine la concurrence et les systèmes asynchrones et évènementiels. C'est essentiel pour écrire n'importe quelle sorte de service web ou de système distribué, et est également au coeur de beaucoup de systèmes concurrents très performants. La programmation réactive peut être vue comme une extension naturelle la programmation fonctionnelle d'ordre supérieur pour les systèmes concurrents qui gèrent l'état distribué en coordonnant et en orchestrant des flux de données asynchrones échangés par les acteurs.

Netflix est société qui a utilisé la PR intensivement et a même contribué un portage de Rx en Java :

La programmation réactive fonctionnelle avec RxJava a permis à Netflix d'utiliser avec profit la concurrence côté serveur sans les problématiques standards de gestion et de synchronisation des processsus. L'implémenentation de l'API de la couche de services a le contrôle sur les primitives de concurrence, ce qui nous permet de poursuivre les améliorations de performance système sans peur d'impacter le code client. Pour nous, RxJava est efficace sur le serveur et plus nous l'utilisons, plus il se dissémine profondément dans notre code.

Facebook a également récemment publié la librairie JavaScript React pour construire la prochaine génération d'interfaces utilisateur. Stoyan Stefanov, ingénieur chez Facebook, décrit le concept principal derrière React :

React vous permet de construire votre application en utilisant des composants qui savent retourner des données. Lorsque les données changent, les composants sont mis à jour automatiquent d'une manière très efficace, seulement lorsque c'est nécessaire. Et le travail d'attacher et de détacher les gestionnaires d'évènements est pris en charge pour vous. Egalement très efficace - l'utilisation de la délégation.

Il est pertinent de noter que la PR recueille déjà beaucoup d'attention de la part de la communauté des développeurs front-end, qui a commencé en 2009 avec la publication originale Flapjax[PDF] et a continué avec plusieurs librairies implémentant les principes de la PR comme Bacon.js, Knockout, Meteor, React.js, Reactive.coffee et RxJS.

Pendant la conférence QCon 2013 à San Francisco, il y aura une couverture extensive du paradigme Réactif, aux côtés des autres tendances et innovations majeures du logiciel et de l'IT, à la fois des tutoriaux et des présentations classiques, alors venez profiter des tarifs *early bird* !

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT