L’alternative Vue.js

Introduction

En comparaison à Angular.js, Vue.js est rapidement apparu comme l’alternative la plus à-même de combler le manque de souplesse et de simplicité du framework de Google. Pour autant, la librairie Vue.JS est-elle si performante que cela ? Quelles en sont ses principales caractéristiques et dans quel objectif se tourner vers Vue.JS ? Avant de vous plonger dans cet article, n’hésitez pas à lire ou à relire notre papier sur la différenciation et l’exposition des problématiques d’Angular et React. 

Commençons par un léger rappel. Si Angular (Google) et React (Facebook) sont les deux géants (presque) incontestés des frameworks les plus utilisés, le changement des mentalités sur l’Open Source a rapidement permis l’émergence d’un petit nouveau en 2014 : VueJS.  Basé, tout comme React.JS, sur le Dom virtuel, il lui est également nécessaire de s’associer à d’autres frameworks afin de pouvoir mettre en place un gros projet. Ainsi, si la suppression du coût de la lecture du Dom est un atout, son manque de puissance et d’adaptabilité est son gros défaut. Afin de rester sur les traces du puissant et multitâche Angular, Vue.js a effectué le même soubresaut technique que React, à savoir adopter un package de framework avec Nuxt.JS. Ce dernier permet notamment la rétention de la courbe d’apprentissage.  D’ailleurs, Vue.JS est aujourd’hui l’un des favoris des développeurs lors de la création d’applications SPA ou « Single Page Application » grâce à son double mode d’intégration. Il est, grâce à cette technologie, l’un des frameworks les plus simples d’utilisation pour du développement responsifrapide. 

React et Vue.Js : demi-frères techniques ?​

Au croisement des chemins entre les frameworks lourd et difficile à manipuler (Angular) et ceux sans véritables fonctionnalités intéressantes, Vue.JS s’impose comme une alternative aux géants développés par les GAFA. Ainsi, il dispose de nombreux avantages sur son rival majeur qu’est React tout en ayant pas eu à affronter les mêmes problématiques d’évolution. Les deux sont semblables sur de nombreux points tels que l’utilisation d’un DOM virtuel, l’utilisation de composants de vue réactifs et modulables, l’agrémentation d’une seule bibliothèque principale axée sur la gestions des problématiques de routage et de gestion globales des états. 

Si les similitudes entre les deux frameworks sont relativement visibles, il est important de distinguer certains points essentiels. Ainsi, tandis que React utilise les fonctions de rendus via JSX avec la prise en compte d’outils importants : linting, e2e tests. Vue a préféré garder les outils d’architecture classique que sont l’HTML et le CSS. Attention tout de même à bien prendre en considération que le choix d’utilisation du CSS est tout à fait possible chez React.  

Dans la normalisation des standards et des procédés de travail, une nouvelle fois React et Vue.js tendent à s’éloigner l’un de l’autre. Prenons déjà l’évolution des frameworks Javascript : la dernière version stable de Vue.JS est la 2.5.16 tandis que React en ait déjà à la 16.8. On peut donc estimer que Vue.JS a profité de l’évolution de React en fonction des changements de mentalité et a donc pu éviter certains écueils sur lesquels le framework Facebook a échoué avant d’en apporter la solution.  

Angular, React et Vue.JS : trois géants pour une seule place

Il ne faut pas oublier de mettre aussi les ligne de mire les comparaisons souvent flatteuses avec Angular. Avec son HTML optimisé, Vue.js permet une meilleure gestion des différents blocs composants. Par ailleurs, tout comme Angular, la documentation liée au programme est aisément réalisable et surtout lisible. Proche de ces concurrents par son architecture, Vue.js a su englober les capacités d’intégration d’Angular tout en gardant une petite taille lui permettant de fonctionner à pleine vitesse et d’obtenir une efficience supérieure aux frameworks de Google et Facebook. 

D’ailleurs, ces critères font parties de ce retenus lors de la réalisation de l’étude « The State of Javascript » valorisent Vue.js puisqu’on peut y apercevoir une hausse de 14% des développeurs n’ayant jamais eu l’occasion de tester Vue.js mais souhaitant le faire. Dans cette même étude, Vue prend d’ailleurs la seconde place des frameworks les plus appréciés des développeurs avec le plus fort ratio de personnes souhaitant apprendre à s’en servir et le second plus fort (derrière React) en termes de développeurs satisfaits : 28.8%. 

De si nombreux défauts ?

Les principaux défauts de Vue.JS résultent dans les nombreux problèmes d’intégration sur des projets nécessitant l’utilisation de plusieurs frameworks ainsi que le manque de ressources intégrées. Si la confiance accordée par les développeurs à Vue.JS est en constante augmentation, sa communauté reste encore faible comparé à celles d’Angular et React.

Plus facile d’apprentissage que ses deux cousins, Vue.JS réalise permet pourtant d’obtenir des projets compliqués et offre un lot de performances plus élevé que celui d’Angular mais doit malheureusement affronter un plus fort nombre d’échecs lors du calcul de son taux de scalabilité. C’est-à-dire qu’il est souvent compliqué de maintenir proprement son code puisque l’accroissement de la capacité de calcul du framework est limité.  

Et pour la suite ?

L’évolution de mentalité des développeurs est bien souvent liée à de simples tendances de développement. S’il est assez rare qu’un ingénieur informatique décide de changer de framework, Vue.JS a pourtant de bonnes chances de continuer sa remontée au classement des frameworks les plus populaires. Avec déjà plus de 110 stars sur GitHub, il est aujourd’hui revenu à hauteur de ses deux principaux concurrents frond-end : Angular et React.  

Attendu dans les mois à venir, la version 3 de Vue.JS devrait se doter de plusieurs améliorations qui raviront les puristes avec notamment : 

  • Une possibilité d’un code entièrement réalisé en Typescript. 
  • Un mode de debugging plus simple d’utilisation et plus efficace. 
  • Une segmentation propre entre observés et planifiés (schedule) 

Comptez-vous tester la dernière version de Vue.JS ?