React vs Vue.js : que faut-il étudier en 2024
Je m’appelle Matthieu Gaston, je travaille comme ingénieur logiciel chez H2Prog. Dans mes tâches quotidiennes, j’utilise Angular, c’est pourquoi tous les raisonnements qui suivent sont basés sur mon expérience de l’étude de ces outils et de leur utilisation dans différents projets.
Il est infiniment possible d’examiner trois choses : le feu brûlant, l’eau courante et la façon dont les développeurs se disputent sur quel est le meilleur framework pour JavaScript. D’ailleurs, en présence des partisans de React, il est préférable de ne pas l’appeler un framework, car il s’agit d’une bibliothèque. Cela peut sembler être une blague pour certains, mais j’ai été corrigé plusieurs fois par des personnes qui le disaient.
Cet article n’a pas pour but d’être un nouveau débat sur ce qui est le mieux. Il y a déjà suffisamment de discussions à ce sujet sur le web. L’objectif principal de cet article est de vous aider à choisir une technologie à étudier en 2021. Il s’agit d’une question urgente, tant pour les débutants que pour les programmeurs plus expérimentés qui envisagent de passer à quelque chose de nouveau.
Je m’efforcerai d’être aussi impartial que possible en utilisant des données statistiques sur la situation actuelle du marché, notamment dans le domaine de la création de sites web. Je comparerai la popularité de React et de Vue.js, évaluant leurs avantages et leurs inconvénients de manière objective. Ensuite, je donnerai mon avis personnel, qui bien sûr demeure subjectif, mais non biaisé. Pour amorcer la discussion, je suggère d’aborder l’histoire et le contexte de leur émergence.
Histoire
Lorsque l’internet et les sites statistiques sont apparus, personne ne pensait à optimiser la vitesse de chargement et l’évolutivité des applications web. À l’époque, les buts et objectifs auxquels étaient confrontés les développeurs étaient très différents de ceux d’aujourd’hui. Mais avec le développement des technologies web et l’omniprésence de l’Internet est apparue une nécessité. Assez rapidement, le nombre de bibliothèques et de cadres de travail visant à résoudre ces problèmes a commencé à augmenter. Je ne les examinerai pas tous, je m’arrêterai spécifiquement sur deux d’entre eux.
React est une bibliothèque JavaScript open source créée par Jordan Valke de Facebook. La société a été chargée d’améliorer les processus de création et de rendu des interfaces, car Facebook devait en assurer le développement et la maintenance. Il s’agissait déjà d’un énorme projet à l’époque, et la technologie existante faisait défaut. React a été utilisé pour la première fois dans le fil d’actualité de Facebook en 2011, puis dans celui d’Instagram en 2012. Mais ce n’est qu’en 2013 que le code source a été présenté à la communauté des développeurs lors de la conférence JSConf US. Cela fait longtemps, des centaines de mises à jour, de corrections et d’ajouts de fonctionnalités sont sortis, mais depuis, React reste le plus populaire parmi les 3 géants.
Aujourd’hui, la version 16.14.0 du 14 octobre 2020 est la plus à jour. En raison de sa popularité et de sa facilité d’utilisation, de nombreuses grandes entreprises utilisent cette bibliothèque pour développer leurs produits. Facebook, Netflix, Yandex et bien d’autres en font partie.
Vue.js est un framework JavaScript créé en 2014 par Evan Yu, un ancien employé de Google, bien qu’il ait commencé le développement alors qu’il était encore dans les murs de l’entreprise. Le fait qu’un cadre à part entière ait été créé par un seul programmeur est l’une des principales différences entre Vue et les géants de la technologie. Au début, Evan était pleinement engagé dans l’écriture du code, la mise à jour de la documentation, la correction des bogues et la promotion de son invention.
Cela fait 6 ans que Vue a été présenté, et sa popularité est déjà égale à celle d’Angular auprès d’un géant comme Google. La version la plus récente de Vue 2.6.11 a été dévoilée le 13 décembre 2019. Mais le 18 septembre 2020, la version 3.0 a été dévoilée et deviendra bientôt courante. Le mélange de fonctionnalités d’autres frameworks JavaScript à succès, l’une des meilleures documentations (la meilleure en chinois) et la facilité de mise en route en font un produit si populaire. Parmi les grandes entreprises qui tirent pleinement parti de Vue, citons Zoom, GitLab, Behance et Font Awesome.
Popularité
Le nombre de bibliothèques et de frameworks pour JavaScript ne cesse d’augmenter. Chaque année, il y a de nouveaux “tueurs” qui promettent de meilleures performances, une plus grande convivialité et moins de bogues. Ce processus ne peut pas être arrêté, il suffit de le surveiller pour ne pas se retrouver dans une situation où votre pile est obsolète.
Il existe de nombreux outils permettant de suivre les tendances. Il faut seulement se rappeler qu’il faut se référer à plusieurs d’entre eux pour avoir une vue d’ensemble. Jetons un coup d’œil à l’état actuel du marché.
Google Trends – les statistiques sur les requêtes de recherche montrent assez fidèlement l’intérêt des développeurs pour diverses technologies.
Assistance, communauté, documentation
Même si l’on dit à la blague que les programmeurs ne font que copier du code sur Stack Overflow et googler les réponses, cela fait partie intégrante de la vie quotidienne d’un développeur, surtout lorsqu’il apprend une nouvelle technologie. Parfois, un banal recentrage des divisions peut se retourner contre vous. Il est important que les programmeurs expérimentés puissent se référer à la documentation technique et, surtout, que celle-ci soit rédigée clairement, ce qui n’est pas toujours le cas. Comparons ces caractéristiques.
Réagir – “ensemble nous sommes forts, mais séparément nous mourrons”. Cet aphorisme décrit le mieux une situation controversée dans cette bibliothèque. D’une part, la communauté des programmeurs compte des dizaines de milliers de spécialistes de différents pays. Il est presque impossible de faire face au problème de la barrière linguistique. D’autre part, la documentation sur la bibliothèque elle-même et un grand nombre de paquets pour celle-ci ne peuvent être qualifiés d’exhaustifs.
L’open source et la possibilité de créer de nouveaux modules, outre ses avantages, présente des inconvénients sous la forme d’un manuel incomplet, d’un manque de support et de l’impossibilité de trouver des solutions. Même le site officiel de React fournit encore des exemples de composants de classe, bien que la communauté et la bibliothèque elle-même aient choisi la voie des composants fonctionnels et des hooks.
En regardant Stack Overflow, qui contient plus de 255 000 questions sur #reactjs, certaines réflexions apparaissent également. D’une part, vous pouvez ne pas vous inquiéter de l’absence de réponse à votre question, mais d’autre part, vous pouvez vous interroger sur la qualité de la bibliothèque. Après tout, si quelque chose fonctionne bien, faut-il se poser des questions ? Un autre grand avantage de React est l’énorme quantité de tutoriels.
Vue.js est un véritable roi de la documentation, qui est à juste titre considérée comme sa carte de visite. Sur le site web du cadre, vous pouvez trouver une description détaillée et de haute qualité en anglais et en russe. La version chinoise de la documentation mérite une attention particulière : non seulement elle est la meilleure, mais elle a été écrite par le créateur du framework lui-même. D’ailleurs, cela a joué un rôle important dans la popularisation de Vue. Selon les données de 2018, la moitié des personnes interrogées en Chine utilisent ce framework.
Et bien que Vue.js connaisse une croissance rapide, la communauté n’a pas encore atteint la taille de React. Cela implique à la fois moins de tutoriels et une difficulté à trouver des réponses aux questions qui nous intéressent. Il y a actuellement plus de 66 000 questions sur #vuejs sur Stack Overflow. Peut-on considérer qu’il s’agit d’un bon résultat en 6 ans ? C’est la même situation à deux chiffres qu’avec React. Cela peut indiquer à la fois la qualité du cadre et la faiblesse de la communauté.
Comparaison entre React et Vue.js
Dans cette section, nous allons parler des similitudes, des avantages et des inconvénients. Commençons par les points communs, qui sont nombreux. Ce n’est pas surprenant, puisque Evan Yu s’est inspiré de React pour écrire son propre framework. Les choses que ces outils ont en commun :
- DOM virtuel (l’implémentation dans Vue.js est beaucoup plus productive et stable) ;
- la réactivité et la structure des composants ;
- l’utilisation de bibliothèques supplémentaires pour mettre en œuvre le routage, la gestion de l’état global et d’autres éléments.
- Support PWA ;
- Prise en charge de TypeScript ;
- compatibilité ascendante ; migration facile des versions.
À première vue, il peut sembler qu’il y ait tellement de similitudes qu’il ne peut y avoir de différences. Mais ils ne le sont pas.
L’une des principales différences réside dans l’approche totalement opposée de l’écriture de la partie interface utilisateur de l’application. Bien que React et Vue utilisent une structure de composants dans leurs projets, où un fichier est responsable d’un composant, mais ils le font différemment.
React peut être considéré comme la brute du monde des frameworks web. Il enfreint toutes les règles, les soi-disant meilleures pratiques. Alors qu’auparavant, il était nécessaire de répartir le balisage, les styles et le JavaScript dans des fichiers distincts, avec JSX, où tout peut se trouver au même endroit, les développeurs sont divisés. Certains pensent que cela simplifie le développement et nous permet de détecter immédiatement les erreurs, car React ne compilera pas si quelque chose manque ou au contraire, quelque chose d’inutile. Mais d’autres disent que cela ne fait qu’embrouiller et compliquer l’ensemble du processus. Pour être plus clair, je vais donner un extrait, qui contient des balises avec des styles.
Source :
Ce qu’il faut retenir de cet article
React et Vue.js ont tous deux leurs avantages et leurs inconvénients, ils sont similaires à certains égards et différents à d’autres. Nous pouvons tirer les conclusions suivantes :
React est beaucoup plus populaire et plus demandé que Vue.js.
Il y a beaucoup plus de matériel de formation et de possibilités de trouver une réponse à une question d’intérêt dans React.
Vue.js est plus facile à apprendre, tant pour les débutants que pour ceux qui ont déjà de l’expérience avec l’un des frameworks.
Pour apprendre React Js, je recommande évidemment mon cours sur le sujet : Formation – Developpeur Javascript Front-End
Vue.js prend en charge les bibliothèques tierces et dispose de nombreux modules intégrés pour les tâches quotidiennes.
Sur la base de tout ce qui a été écrit ci-dessus, en 2024, je choisirais React à explorer. Il est reconnu par les entreprises internationales, occupe des positions de premier plan sur le marché et les didacticiels sont légion. Et si vous n’êtes soudainement pas d’accord, je suis toujours heureux d’entendre le point de vue opposé, que vous pouvez partager dans les commentaires !