Fantomas’side

Weblog open-source

Action, réaction !

Récemment, j'ai eu envie de faire une Application web monopage, servant à organiser les tâches que j'ai à faire et à noter mes différentes idées pour les réaliser le moment venu. Pourquoi monopage ? Car habituellement, j'utilise juste différents fichiers textes, ce qui permet d'aller très vite dans la saisie et l'organisation des lignes, donc je voulais absolument retrouver ce côté "réactif".

Todos

Forcément, ceci nécessite pas mal de JavaScript, qui est le langage pour dynamiser les pages HTML. Or, même si je connais pas mal l'ECMAScript, j'ai de profonds a priori sur ce langage, parfois sans fondement, je l’avoue. J'en fais à minimum, me contenant bien souvent d'utiliser JQuery pour un show/hide, un call Ajax, profiter d'un plugin et c'est tout.

J'ai testé il y a plusieurs mois AngularJS, et même si j'ai constaté que l'industrie du JS s'est énormément développée et professionnalisée, surtout depuis l'arrivée de Node.js, je n'ai pas réussi à adhérer aux concepts, ni même à finir le tutoriel. Bref, je partais de loin pour mon petit projet...

Mais j'ai découvert React (développé par Facebook pour la petite histoire), et tout a changé.

Rapidement, j'ai pu voir comment construire mon projet, tout en respectant les concepts liés à React et avoir quelque chose de fonctionnel en 2 jours. Plutôt pas mal, pour un réfractaire.

Je pense que si j'ai pu réussir à faire ce que j'avais en tête aussi vite, c'est grâce principalement à la logique de Composants, extensibles, réutilisables et embarquables, le tout géré par la syntaxe JSX pour le rendu des templates en HTML.

Durant la réalisation de l'application, j'ai aussi vu et bénéficié des API ajoutées aux navigateurs, ce qui rend la vie tellement plus facile, d'ailleurs je pense que je n'aurais dorénavant plus besoin de JQuery de toute ma vie. :)

Parmi les choses utiles que j'ai découvertes et utilisées, je pourrais citer entre autres :

  • Fetch
  • document.querySelector
  • L'API FormData
  • L'API Headers
  • L'API localStorage

Avec tous ces éléments, je comprends qu'il soit de plus en plus tentant de remplacer des clients lourds par de réelles applications embarquées dans un navigateur.

J'ai aussi testé les nouveautés de syntaxe, comme les importations de librairies externes (le tout via NPM) et les fonctions fléchées, tellement utiles.

Ceci n'étant possible qu'en utilisant un transpileur, mais avec des outils comme Gulp, Browsersify, voir tout simplement webpack, des chaînes de constructions complexes peuvent être mises en place facilement et s'intégrer dans n'importe quel flux de développement ou de déploiement.

Bref, sans parler de React en lui-même, qui mériterait un article dédié, je suis désormais quasi reconquis par JavaScript, après disons bien 17 ans de regards en biais.

Parfois, l'accumulation des qualités compense certains défauts.