Je suis dev depuis pas loin de 10 ans, dont beaucoup (beaucoup, beaucoup) de PHP. Depuis quelques temps je m’intéresse à l’écosystème JS car je souhaite développer une application navigateur. Et je sèche. J’aime les choses cadrées, bien faites, propres, sécurisées, élégantes. L’engouement ces dernières années de la communauté PHP pour les tests unitaires, les PSR, composer, les libs indépendantes de qualité me plais énormément. Je trouve qu’il y a une certaine cohérence sans pour autant enfermer le développeur: Composer sert aussi bien a installer Laravel, Symfony qu’une lib standalone comme Monolog. Mais vouloir faire du JS « moderne » en 2015 / 16 c’est juste une curée: tellement d’outils à tous les niveaux, de pratiques, d’écoles, de standarts, … Pour mettre ne place un « simple » livereload il faut 50 fichiers de config et 12 000 libs . Dépassé le stade de la TODO app de démo, aucune entente sur une archi modulable et évolutive. Même au sein d’une même solution, on trouve 200 skeletons d’applications. Se lancer sur Angular: « Angular n’est qu’une copie du monde PHP / Python / Ruby / Java avec son MCV ». Pas dans la philosophie JS. React alors: « React c’est juste un moteur de template ». Ok, Flux ? « Flux c’est un paradigme à implémenter soit même avec d’autres outils. C’est juste la preuve que Facebook ne sait pas faire un module de notification cohérent ». Redux is’nt it ? « Une implémentation pure de Flux sans les inconvenient. Oh wait, on a ajouté aussi la notion d’immutable mais qui n’est pas obligatoire et plein de notion que tu comprendras dans 10 ans mais seront dépassées dans 2. On a mis dedans React Router aussi, car tout le monde le veux. Mais c’est pas du MVC ok! On a pas de modèle nous, mais un store mec! Pas Pareil. C’est juste un gros modèle avec tout dedans ». Et finalement: « Do you have a few minutes to talk about our lord Amber.js » …. Au final, je suis plus rassuré par un truc comme Ionic, un peu en vase clos, mais qui propose un écosystème complet et cohérent. Et j’ai pas parlé d’ES6 et des libs de compatibilité. Et de Browserify et consort. Affreux. J’en suis même venu à chercher comment runner du code PHP avec JS pour faire mon application peinard :p Je suis peut-être passé à côté de quelque chose mais j’ai des gros doutes sur la direction que tout ça prends et la pérennité de l’ensemble. My 2 cents