Si vous êtes développeur web, et que vous cherchez des conseils pour choisir sur quelle technologie frontend vous former, vous allez tomber sur 2 catégories de conseils :

Les conseils de la première catégorie sont des comparatifs techniques de frameworks que vous ne connaissez pas encore. Si je vous dit que React utilise la syntaxe JSX pour son DOM virtuel, que Angular utilise le “data-binding”, ou que VueJS propose une nouvelle “Composition API”, cela ne vas pas beaucoup vous aider à faire votre choix. Bien que ces comparatifs peuvent être intéressants, ils se basent sur le fait que vous avez une bonne connaissance de chacune de ces technologies, et que vous êtes capable de faire des comparaisons sur certaines caractéristiques de ces outils. Or, ce n’est pas le cas, puisque vous avez déjà du mal à choisir un seul framework afin de vous former dessus. Et ce serait déjà bien ! 😀

La deuxième catégorie de conseils est caractérisé par le penchant pour la “gourroutitude”, qui vante de manière très subjective les mérites d’une seule technologie, qui serait supérieure à toutes les autres. Mais vous n’avez aucun moyen de vérifier les bien fondés de leurs informations. Il faudrait que vous ayez des semaines devant vous pour vous former et créer une application complète avec chacun de ces frameworks. Or cela n’arrivera jamais, car vous êtes déjà bien pris par les cours, le boulot, les examens, ou même les vacances.

Nous allons donc voir comment choisir la technologie la plus pertinente pour vous, et comment investir votre précieux temps pour vous former sur “la bonne technologie”. On va se baser sur le fait que vous ne connaissez pas vraiment ces technologies, ou au mieux “de nom”. 

Si vous êtes développeur web, ou futur développeur web, cela vous permettra de choisir le framework le plus adapté à votre objectif, et vous évitera aussi de perdre votre temps, car vous n’avez surement que quelques heures de disponibles par ci par là pour vous former.

Cas n°1 : La contrainte professionnelle

La situation la plus simple, c’est la contrainte professionnelle. C’est lorsque votre patron se pointe en vous disant que votre prochain projet sera en Angular, ou qu’un de vos professeurs vous apprend que votre projet à rendre dans 3 mois devra être écrit en React. Dans ce cas, vous n’avez pas de choix à faire car cette décision vous est imposé.

Mais vous vous demandez quand même qu’est ce qui caractérise grosso modo chaque technologie, et pourquoi on vous a imposé cette technologie et pas une autre.

Je vous propose donc de faire un petit tour d’horizon des principales forces et faiblesses de chacun des 3 frameworks React, Angular et Vue.

ANGULAR

Angular est sortie en 2016, et a été crée par Google.

Il ne doit pas être confondu avec son prédécesseur AngularJS.

Angular et AngularJS sont deux frameworks totalement différents, il s’agit surtout d’un coup marketing de Google pour attirer plus facilement des développeurs sur son nouveau framework Angular.

Angular est une solution tout-en-un, et est très populaire auprès des grandes entreprises. Vous avez donc beaucoup moins de liberté lors de vos développements. 

Cependant, la liberté n’est pas forcément une bonne chose en informatique, ni une mauvaise chose d’ailleurs. Avec de la liberté, vous êtes libre de vous planter magistralement sur votre architecture, et le travail d’équipe est un peu plus difficile car tout le monde n’a pas la même approche.

Angular est principalement conçu pour développer des applications frontend assez importante et complexe, et si vous travailler à plusieurs il permet de mieux s’organiser.

En contrepartie, il est plus complexe et est beaucoup plus difficile à utiliser pour des développeurs moins expérimentés.

REACT.JS

React est sortie en 2013, et a été crée par Facebook.

React a initialement été développé pour factoriser le code commun entre l’application Facebook et Instagram, lorsque Facebook a racheté son très jeune concurrent.

React est le “papa”, car c’est le framework pionnier du frontend, c’est également le plus populaire, et sa communauté est très active. Il existe beaucoup de ressources disponibles sur React.

Aussi, React est plus une librairie permettant de créer et de gérer des interfaces web, qu’un framework en tant que tel. En effet, pour tout ce qui est de la navigation, des requêtes HTTP sur le réseau, ou la gestion des données dans votre application, vous devrez vous tourner vers d’autres libraries complémentaires à React. Cela vous permet de démarrer rapidement avec React, mais vous pouvez rapidement être perdu par la suite, car vous n’avez pas vraiment de cadre.

VUE.JS

VueJS est sortie en 2014, et a été créer par Evan You, qui n’est pas une entreprise, mais un ancien développeur du projet Angular, chez Google.

L’idée de Evan est simple, on va prendre le meilleur de Angular et de React, et créer un framework qui combine le meilleur des deux mondes. Et contre toute attente, ce pari est plutôt réussi, puisque c’est le framework qui se développe le rapidement aujourd’hui.

VueJS est le framework le plus simple à apprendre, et la documentation de VueJS est certainement la meilleure documentation technique que j’ai pu consulter dans ma vie.

Par rapport à Angular, il est beaucoup plus simple à apprendre. Et par rapport à React, les librairies tierces pour améliorer son application sont développé et maintenus par la même équipe de VueJS. VueJS nous accompagne donc petit à petit lors du développement de nos applications, on parle de “Progressive Framework”. Mais tout n’est pas rose non plus, car il s’agit d’un framework jeune, et il fait face à deux concurrents de taille pour le moment.

Bien sûr, je ne parle pas de performances entre tous ces outils, car React est utilisé par Facebook, Angular par Google et VueJS par Alibaba, le plus grand site de e-commerce de Chine. Les performances entre ces outils sont donc absolument négligeables.

Pour conclure, on pourrait dire que Angular est un “Monolithe efficace”, que React est “Hacker performant”, et que Vue est un “rebel intelligent”. 

Maintenant cela devrait être plus clair pour vous, on peut passer à la suite.

Cas n°2 : La recherche d’un job

Un autre cas de contrainte professionnelle, c’est si vous recherchez un emploi, mais que vous ne savez pas quelle technologie choisir.

Dans ce cas, votre objectif, c’est de choisir la bonne technologie pour trouver un emploi. La solution est simple, car statistique. Miser sur la technologie la plus utilisée par rapport à l’endroit que vous visez pour votre recherche d’emploi. Pour savoir cela, vous pouvez simplement comparer le nombre d’offres d’emploi proposé sur des plateformes spécialisés comme Monster ou Indeed.

Après quelques recherches, je miserai sur Angular si je dois chercher un emploi dans la région de Nice, mais sur React si je cherche aux Etats-Unis par exemple. En tous cas, j’écarterai VueJS car il trop récent, et les offres sont clairement moins répandues.

Aussi, il se peut que vous deviez réaliser une application web pour vos études, et que vous ayez “champ libre” sur la technologie à choisir. Dans ce cas, la première chose à vérifier, c’est si un de vos camarades sur le projet connaît déjà une technologie, car ça fera moins de ce qu’on pourrait appeler “le temps d’apprentissage collectif”. Sinon, vous devez tous apprendre une nouvelle technologie. Idem, pour capitaliser sur votre recherche d’emploi qui va suivre, je vous recommande de vous greffer sur React ou Angular, comme on l’a vue juste avant.

Cas n°3 : Autodidacte et projets personnels

Vous n’avez aucune contrainte, et pourtant vous aimez apprendre de nouvelle compétences, et développer votre propre projet à côté du boulot et des études.

Alors ma réponse va être simple, partez sur VueJS. C’est le plus simple à apprendre, il permet d’aller très loin, et il est très dur de faire des erreurs graves en l’utilisant.

De plus, le projet est piloté par un développeur, Evan You, pour les développeurs. L’utiliser est vraiment très agréable, et c’est un framework en pleine croissance.

À moins que vous envisagiez votre projet personnel comme une future entreprise, VueJS est une voie en or pour s’initier au développement frontend sans perdre vos cheveux.

Bilan

J’espère qu’après l’angoisse que l’on a ressenti en début de vidéo, vous êtes plus serein, et vous vous sentez en confiance pour découvrir le monde du frontend. Quel que soit le choix que vous faites, Angular, React et Vue continuent de dominer le monde JavaScript, donc vous serez du côté des gagnants.

Si vous souhaitez vous former sur Angular, React ou Vue, vous pouvez commencez votre apprentissage dès ce soir, grâce aux mini-formations que je propose sur mon autre site : alexandria-library.co. Ces mini-formations devraient vous prendre entre une à deux soirées de travail.

Voilà, j’espère que cette comparaison vous a été utile et que vous y voyez plus clair concernant l’éco-système frontend. 👍

Bon développement,

Simon.

Laisser un commentaire