Dans cet article vous trouverez un comparatif des frameworks front-end les plus courants.
Nous allons passer en revue leurs avantages, inconvénients et leurs caractéristiques propres.
Tableau des critères
Description des critères
- Maintenabilité : Facilité à évoluer dans le temps
- Scalabilité : Facilité à s’adapter à de grands projets
- Apprentissage sur long terme : Il sera plus intéressant de choisir un framework où l’on aura moins besoin de se remettre à jours au niveau de ses connaissances.
- Performances : temps de réponses du framework (mesures + articles)
- Communauté : Nombres repository github et threads Stackoverflow
Vue.js
Présentation
Vue.js est un framework javascript créé en 2013 par Evan YOU, le plus simple à appréhender de la liste. Aussi appelé « Vue », l’un des gros avantages de ce framework est sa simplicité car il offre un choix réduit de fonctionnalité bien travaillées. Il est adapté à tous les niveaux, de débutant à expert. Le templating et le styling sont rédigés directement en HTML, CSS ce qui vous permettra de commencer à l'utiliser rapidement.
Vue vous permet d’étendre le HTML avec des attributs HTML appelés : « directives ». Les composants Vue encapsule le HTML pour rendre le code réutilisable. Un point important est que Vue utilise le DOM virtuel comme dans d’autres frameworks JavaScript. Cette notion est importante car l’intérêt est d’éviter de mettre le DOM d’origine à jour à chaque modification.
Inconvénients
- Le plus récent des framworks et donc le moins stable, quelques problèmes d’intégration parfois.
- Une communauté plus petite que les 2 autres frameworks cités dans cet article.
- Nécessite d'utiliser des librairies externes pour coder une application front complète.
Avantages
- Facile à appréhender pour un débutant
- Le code est rédigé rapidement
- HTML, CSS utilisés de manière native
React.js
Présentation
React.js, qu’on appelle couramment React, est un framework JavaScript, créée par Facebook en 2013. Il permet de concevoir des interfaces utilisateurs web via la création de composants dépendants. React utilise, comme Vue.js, le DOM virtuel pour calculer le rendering. Très flexible et performant, il est un outil apprécié par les développeurs, avec une grande communauté et une équipe de développement qui n'a plus à faire ses preuves. Le templating est généralement basé sur la librairie JSX. On peut voir React comme une librairies de composants et de gestion de flux de données unidirectionnels.
Inconvénients
- Templating en JSX et non en HTML, phase d'apprentissage obligatoire
- Une documentation pas toujours très claire
- Demande l'utilisation de bibliothèques externes pour la réalisation d’une application complète.
Avantages
- Composants et modèles de données
- Open source, il est mis à jour régulièrement et s’adapte aux contraintes actuelles.
- Utilisation simple des composants
- Très pratique lorsqu'on a des besoins graphiques poussés
Angular
Présentation
Angular a été créé en 2016 par Google. Il est le successeur d'AngularJs, paru en 2009. Attention à ne pas confondre les 2 quand vous cherchez des ressources ! En effet Angular est dotée de beaucoup plus d’outils et de fonctionnalité que la précédente version, et il n'y pas de rétrocompatibilité entre ces 2 versions. Très flexible en termes de développement, il répond aux besoins front en terme de : composants (d’encapsulation de fonctionnalités), templating, routing, gestions d’erreurs, communications avec des APIs. Contrairement à Vue et React, Angular n'est pas une simple librairie de component qu'il faut coupler à d'autres. Il est un framework complet. Ce qui lui confère un gros avantage en terme de stabilité et d'évolutivité.
Inconvénients
- Apprentissage long et ardu ce qui peut être décourageant dans un premier temps.
- Un peu plus verbeux que les 2 autres frameworks cités dans cet article
Avantages
- Grosse communauté
- Documentation exhaustive
- HTML, CSS pris en charge nativement
- Stable et performant
Conclusion
Après avoir vu en globalité les 3 frameworks javascript les plus populaire du moment, on pourrait encore se demander lequel choisir. La réponse est que chaque framework est utile pour un type précis de projet. Vous vous tournerez plutôt vers du React pour un besoin graphique poussé, vers Vue si vous cherchez simplement à exposer des fonctionnalités et données de vos API, et vers Angular si vous codez des progiciels. Mais en réalité vous pouvez tout faire avec les 3 frameworks, donc il faudra choisir en fonction de vos affinités.
J'espère que vous avez apprécié ce comparatif. Faites-nous signe dans les commentaires si vous pensez qu'il y a d'autres infos à ajouter !
Sources
- Codeur - Choisir framework javascript
- Wanadev - Quel framework en 2021?
- Esokia - Angular, React, Vue quelle technologie choisir ?
- Dyma - Angular, Vue ou React ?
- Iocean - Les caractéristiques des framework front-end ?
- Ideamotive - Les meilleurs frameworks front-end
- Kicklox - Popularité des frameworks javascript