Sortie de Stimulus 2.0 le framework JavaScript 'modeste'

Par:
fredericmazue

mer, 06/01/2021 - 13:13

Alors que la plupart des frameworks JavaScript ont pour ambition de fournir de toujours plus nombreuses fonctionnalités et de ce fait sont de plus en plus lourd, la philosophie de Stimulus est différente.

Comme l'indique John Beatty, auteur d'un tutoriel Stimulus, la plupart des pages web n'ont pas besoin d'un framework complet. Elle ont seulement besoin d'un peu d'interactivité pour répondre aux actions de l'utilisateur. Stimulus est un framework qui fournit cette activité. John Beatty le considère comme un accélérateur de productivité.

Les auteurs de Stimulus le décrivent ainsi : Stimulus est un framework JavaScript aux ambitions modestes. Il ne cherche pas à prendre en charge l'intégralité de votre front-end - en fait, il n'est pas du tout concerné par le rendu HTML. Au lieu de cela, il est conçu pour augmenter votre HTML avec juste assez de comportement pour le faire briller. Stimulus se marie à merveille avec Turbo pour fournir une solution complète pour des applications rapides et convaincantes avec un minimum d'effort.

Stimulus s'utilise très facilement. Dans du code HTML, on introduit des attributs de contrôleurs, de cible et d'action, par exemple comme ceci :

<div  data-controller = "hello">
  <input  data-hello-target = "name" type = "text" >

<button  data-action = "click-> hello #greet" > Salut </ bouton >

<span  data-hello-target = "output"> </span>
</div>

Puis vient l'écriture du contrôleur :

// hello_controller.js
import { Controller } from "stimulus"

export default class extends Controller {
  static targets = [ "name", "output" ]

  greet() {
    this.outputTarget.textContent =
      `Hello, ${this.nameTarget.value}!`
  }
}

Stimulus surveille en permanence la page et intervient dès que des attributs apparaissent ou disparaissent. Il fonctionne avec n'importe quelle mise à jour du DOM, qu'elle provienne d'un chargement de page complète, d'un changement de page Turbo ou d'une requête Ajax. Stimulus gère tout le cycle de vie.

Stimulus s'intègre au packager de ressources Webpack pour charger automatiquement les fichiers de contrôleur à partir d'un dossier de votre application.

Stimulus vient de sortir en version 2.0. Stimulus est un logiciel libre sous licence MIT disponible sur GitHub.