Meteor

ou pas

J'ai aujourd'hui essayé Meteor parce qu'on n'arrête pas de me dire que c'est trop bien, que c'est l'avenir tout ça… Et puis bon, c'est vrai que ça a l'air pas mal quand même sur la description : le même code pour le client et le serveur qui communiquent en socket directement sur un mongo, on n'a pas à se prendre la tête pour installer et configurer un backend, pour modéliser des données… bam, on écrit direct une application et automagiquement, ça part en prod.

Bon, après le tuto, j'ai décidé que j'écrirais pas d'article à propos de Meteor, parce que définitivement, je n'aime pas. Faut pas le prendre perso, Meteor, j'ai rien contre toi, je t'utiliserais peut être pour du prototypage un jour, qui sait. Mais jamais en prod. Et cela pour plusieurs raisons qui vont découler à une polémique que je voulais lancer depuis un moment : le FULL STACK.

Full Stack Developer

Meteor est un outil pour full stack developer. Grâce à Meteor, un unique développeur est capable de développer une application de A à Z puisque le framework lui permet de gérer très trop facilement la base de données, le back et le front. Sauf que les vrais Full Stack developers sont rares. Un full stack developer est sensé maitriser toutes les couches d'une application web. Par abus de language, on appelle et beaucoup se font appeler full stack à partir du moment où ils savent installer un Apache, un MariaDB, un PHP et bidouiller un peu de js et de css. Alors qu'ils ont probablement une expertise à mettre en avant. C'est mon cas : je suis totalement capable de monter un site complet avec du nginx, du postgre, du mongo, du redis, du php, du node, du ES5, du ES2015, du ES2016, du CSS3 du HTML5, etc, je pourrais donc me vanter d'être un full stack developer ! Mais non ! Je suis développeur de guichet car c'est ce que je maitrise et que j'ai besoin de développeurs d'arrière-guichet qui maitrisent leur sujet mieux que moi ! Au final, un full stack developer est moyen en tout. C'est con parce que la plupart des prétendus full stack que je connais sont excellents en back.

Donc bon

Wé meteor, c'est fun pour faire un prototype rapide, mais putain, jamais je mettrais un truc pareil en prod. Je veux un front end maitrisé avec un framework solide et les libs de mon choix, pas un truc fermé avec des if (Meteor.isClient) {}. Je veux un backend en béton scalable et multithread, pas un truc fermé avec des if (Meteor.isServer) {}. Je veux une base de données interchangeable, optimisable, scalable. Pas MongoDB qui est loin d'avoir fait ses preuves si j'en crois mes connaissances sysadmin. Si je veux du réactif, j'utilise websocket et je met en place ma propre optimistic UI. Donc je n'en dirais pas plus à propos de Meteor. Je ne dis pas que c'est pas bien, certains l'apprécieront probablement mais moi j'aime juste pas.

Si vous n'êtes pas d'accord avec le fait que je ne sois pas d'accord, je vous y invite à venir gueuler vos arguments en commentaires.

Hadrien

Hi, I'm a french Javascript Lead Developer, Web Architect from Toulouse, France. I've worked for 12 years for many projects with YUI, AngularJS, Aurelia.io and now React and React native.

Toulouse, France https://hadrien.eu