Où est passé le KISS en développement front ? post

Nov 15 2017 - Dev, Savoir vivre de dev

Je suis tombé en admiration devant ces deux tweets :

Troller l'écosystème Javascript sur Twitter, c'est facile et répandu. Mais ces deux tweets là ne tirent pas sur l'ambulance comme les autres. Ici on ne critique pas à quel point c'est complexe et moche. On se pose plutôt la question "est-ce que cette complexité nous est tout le temps nécessaire ?".

J'ai pondu une interface un poil chiadée il y a quelques mois. Elle se trouve ici.

Cette page permet de personnaliser une montre en interchangeant ses différents composants. J'en suis plutôt fier au niveau ergonomie (ne parlons pas du design austère) car :

  • ma spécialité c'est le back, le front n'est pas ma tasse de thé ;
  • les tests utilisateurs ont été concluants ;
  • on a reçu de bons commentaires de la part de "gens du métier" ;
  • on a observé les utilisateurs et pissé de joie en les voyant se prendre au jeu de la personnalisation en jouant frénétiquement avec l'interface.

Les technos utilisées pour cette page : du Javascript à la vanille et quelques lignes de JQuery (pas forcément indispensables de surcroît). C'est moins sexy à dire que Du Coffee Script couplé à React et Ember compilé avec Gulp qui tourne sous Electron jantes alliages antenne chromée. Je fais du name dropping alors que si ça se trouve, la moitié de ces trucs est déjà has-been, j'en sais rien.

Et le plus horrible, dont je suis en plus fier : les assets sont compilés avec Assetic, le vieux bundle pas loin d'être déprécié pour Symfony2. Flemme absolue d'installer une stack Node ou un de ses 400 forks sur mes environnements de dev et déploiement, tout ça pour coller 3 fichiers ensemble et faire du rechercher/remplacer à certains endroits.

Je fais tous ces choix de vieux con car c'est infiniment plus simple pour moi. Pas besoin de stack JS à laquelle je ne comprends rien pour compiler mes assets. Au final, malgré la certaine complexité de la page, ça reste un pauvre écran qui affiche et cache des trucs quand on clique sur des machins. Je n'ai pas besoin d'un framework de déglingo pour ces pétouilles. On est toujours sur un site web, pas une "application", chose qui a tendance à se perdre ces temps ci : on fait de l'application web à foison, de la Single Page App à gogo, tout ça pour consulter le programme TV ou la météo.

Un jour ma page migrera peut-être vers une stack JS plus musclée, pour des histoires de complexité de code et de maintenabilité, car ces outils sont évidemment intéressants dans certains cas. Mais j'espère que ça sera le plus tard possible, car à ce moment là, cette page deviendra lente :

(et je recommande de lire la suite du thread)

Flux Atom

C'est par là