Le frontend est facile… jusqu'à ce que vous construisiez réellement quelque chose

Les gens pensent que le développement frontend est facile.

Ils disent des choses comme :

  • Ce n'est qu'un écran.
  • Le backend fait le vrai travail.
  • L'IA peut construire ça.
  • Utilisez simplement une bibliothèque de composants.
  • Ce n'est qu'une case à cocher.

Chaque développeur frontend sait comment ces histoires se terminent. Une simple case à cocher peut ruiner votre semaine entière.

J'ai appris cela à la dure lors de mon dernier emploi. Nous avons construit une plateforme pour un cabinet d'audit. Une chef de projet a demandé une case à cocher sur un tableau de bord. Elle a dit que cela prendrait deux heures. Elle m'a même donné une journée entière pour la tester.

Je pensais qu'elle était généreuse. Je me trompais.

La case à cocher n'était pas un simple élément d'interface utilisateur. Elle avait des règles strictes :

  • Elle n'apparaît que pour certains types de clients.
  • Elle ne s'affiche que si le projet atteint un certain seuil de revenus.
  • Elle n'apparaît que si le projet est actif.
  • Elle ne s'affiche que si le consultant est propriétaire du projet.

Ensuite, la logique s'est complexifiée. Cocher la case déclenchait une requête. Cette requête nécessitait l'approbation d'un manager. Cela exigeait :

  • De nouveaux points de terminaison d'API.
  • Des flux de travail d'approbation complexes.
  • La gestion des erreurs et les états de chargement.
  • De nouveaux systèmes de notification.

Ça s'est aggravé. Les managers ne voulaient pas que les requêtes restent en attente. La case à cocher devait se masquer si le manager n'était pas en ligne. Nous avons dû implémenter un suivi de présence en temps réel.

Soudain, nous gérions :

  • Des modèles de base de données.
  • Des connexions socket.
  • La synchronisation des données en temps réel.
  • Des conditions de concurrence.

Nous avons passé trente heures sur une seule case à cocher.

Nous n'avons pas passé trente heures à dessiner une boîte. Nous avons passé trente heures à traduire des règles métier en code.

La complexité du frontend provient des exigences humaines. Vous devez résoudre les problèmes liés aux :

  • Utilisateurs hors ligne.
  • Clics simultanés.
  • Changements de permissions.
  • Réponses d'API lentes.
  • Sockets déconnectés.

Les bibliothèques de composants comme ShadCN sont excellentes. L'IA est utile pour les mises en page. Mais elles ne résolvent pas les problèmes métier. Une bibliothèque vous donne une case à cocher. Elle ne vous dit pas qui la voit ni comment le flux d'approbation fonctionne.

Le plus difficile, ce ne sont pas les pixels. Le plus difficile, c'est de comprendre ce que la case signifie.

Le frontend consiste à traduire le chaos humain en quelque chose sur lequel les gens peuvent cliquer. Le meilleur travail semble facile parce que quelqu'un a passé des jours à le rendre simple.

Quelle est votre histoire de « case à cocher simple » ?

Source : https://dev.to/mdazlaanzubair/frontend-is-easy-until-you-actually-build-something-20fb