| AngularJS | React | Ember JS | Backbone JS | Ractive JS | CanJS | Knockout JS | batman js | rAppid JS | SproutCore |
Image | | | | | | | | | | |
Infos générales |
Avec un affichage automatique de filtreDispose d'un mécanisme pour filtrer des affichages ou vues basé sur variables scop (par exemple, lorsque l'on recherche) sans besoin d'écrire trop de codes extra. |
Avec un affichage automatique de filtreDispose d'un mécanisme pour filtrer des affichages ou vues basé sur variables scop (par exemple, lorsque l'on recherche) sans besoin d'écrire trop de codes extra. | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✔ | ✖ | ✖ |
Moteur de substitutionLes moteurs de modèles permettent des créations UI faciles et flexibles. |
Moteur de substitutionLes moteurs de modèles permettent des créations UI faciles et flexibles. | ✖ | ✖ | ✔ | ✔ | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ |
Prolonge HTMLCertains voient ça très avantageux car l'overhead de un langage différent du modèle est éliminé. |
Prolonge HTMLCertains voient ça très avantageux car l'overhead de un langage différent du modèle est éliminé. | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✔ | ✔ | ✖ | ✖ |
Publié sous MIT LicenseLa MIT License est une licence très permissive qui permet toutes les utilisations, comprenant l'usage business, sans garantie. |
Publié sous MIT LicenseLa MIT License est une licence très permissive qui permet toutes les utilisations, comprenant l'usage business, sans garantie. | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Peut être integrée avec plusieurs MV* FrameworksPeut être utilisé pour remplacer une partie d'un framework sans enlever les fonctionnalités principales. |
Peut être integrée avec plusieurs MV* FrameworksPeut être utilisé pour remplacer une partie d'un framework sans enlever les fonctionnalités principales. | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Score total pour "Infos générales" |
Score total pour "Infos générales" | | | | | | | | | | |
Modules d'extension |
Plugin populaire qui supporte l'animationDispose d'un plugin qui comprendre outils pour créer facilement des animations. |
Plugin populaire qui supporte l'animationDispose d'un plugin qui comprendre outils pour créer facilement des animations. | ✔ | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Nombre de pluginsDès sources de plugin officielles. Les plugins fournissent un moyen facile de prolonger la fonctionnalité ou s’intégrer avec des autres services. Un nombre important de plugins signifie qu'il y a une communauté active. |
Nombre de pluginsDès sources de plugin officielles. Les plugins fournissent un moyen facile de prolonger la fonctionnalité ou s’intégrer avec des autres services. Un nombre important de plugins signifie qu'il y a une communauté active. | 213 | N.A. | N.A. | 153 | N.A. | 7 | 33 | N.A. | N.A. | N.A. |
Avec une source de plugin dédiée.Cela montre que le framework est vivant, qu'il a le support d'une large communauté et qu'il permet plus de flexibilité et un développement plus rapide. |
Avec une source de plugin dédiée.Cela montre que le framework est vivant, qu'il a le support d'une large communauté et qu'il permet plus de flexibilité et un développement plus rapide. | ✔ | ✖ | ✖ | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ |
Abstraction de modèles synchronisés RESTful intégréeComprendre des utilités pour faire rester les modèles synchronisés avec la représentation server-side sans besoin d’écrire des calls jQuery boilerplate ajax. |
Abstraction de modèles synchronisés RESTful intégréeComprendre des utilités pour faire rester les modèles synchronisés avec la représentation server-side sans besoin d’écrire des calls jQuery boilerplate ajax. | ✔ | ✖ | ✖ | ✔ | ✖ | ✔ | ✖ | ✔ | ✔ | ✖ |
Supporte l'animationComprendre outils pour créer facilement des animations. |
Supporte l'animationComprendre outils pour créer facilement des animations. | ✖ | ✖ | ✖ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ |
Score total pour "Modules d'extension" |
Score total pour "Modules d'extension" | | | | | | | | | | |
Bibliothèques et Paquets |
C'est agnostique de bibliothèque logicielle pour la manipulation DOM. Agnostique fait allusion en informatique à la capacité d'un composant pour travailler avec plusieurs systèmes.Cela ne requiert pas d l'usage d'une bibliothèque logicielle spécifique (tels que jQuery, Zepto ou MooTools) pour diriger la manipulation DOM. Ça peut être utilisé avec la bibliothèque choisi par le développeur. |
C'est agnostique de bibliothèque logicielle pour la manipulation DOM. Agnostique fait allusion en informatique à la capacité d'un composant pour travailler avec plusieurs systèmes.Cela ne requiert pas d l'usage d'une bibliothèque logicielle spécifique (tels que jQuery, Zepto ou MooTools) pour diriger la manipulation DOM. Ça peut être utilisé avec la bibliothèque choisi par le développeur. | ✖ | ✔ | ✖ | ✖ | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ |
Fonctionne avec des bibliothèques logicielles AMD, tel que require.jsLes bibliothèques logicielles AMD (Asynchronous Module Definition) permettentmodularize une programmation modulaire facile et appropriée. Si le framework ne fonctionne pas avec ces bibliothèques logicielles, il peut avoir d'autres moyennes pour modulariser (techniques de programmation modulaire) ses composants et résoudre problèmes de dépendances, par exemple avec Dependency Injection. |
Fonctionne avec des bibliothèques logicielles AMD, tel que require.jsLes bibliothèques logicielles AMD (Asynchronous Module Definition) permettentmodularize une programmation modulaire facile et appropriée. Si le framework ne fonctionne pas avec ces bibliothèques logicielles, il peut avoir d'autres moyennes pour modulariser (techniques de programmation modulaire) ses composants et résoudre problèmes de dépendances, par exemple avec Dependency Injection. | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ | ✖ | ✖ | ✔ | ✖ |
Supporte officiellement le pack de gestion BowerBower est un pack de gestion facile à utiliser similaire à npm pour applications frontend. |
Supporte officiellement le pack de gestion BowerBower est un pack de gestion facile à utiliser similaire à npm pour applications frontend. | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ |
Entrée officielle dans le gestionnaire de paquets npmLe pack de gestion nœud peut aussi être utilisé pour diriger des scripts de frontend. |
Entrée officielle dans le gestionnaire de paquets npmLe pack de gestion nœud peut aussi être utilisé pour diriger des scripts de frontend. | ✖ | ✖ | ✔ | ✔ | ✔ | ✖ | ✔ | ✖ | ✔ | ✖ |
Comprendre jQuery LiteUtilise des éléments de jQuery Lite où la manipulation DOM est nécessaire. Avec ça, les développeurs auront fonctionnes d'aide sans l'obligation d'inclure toute la bibliothèque. Dans de nombreux cas, ça élimine la dépendance du projet à jQuery. |
Comprendre jQuery LiteUtilise des éléments de jQuery Lite où la manipulation DOM est nécessaire. Avec ça, les développeurs auront fonctionnes d'aide sans l'obligation d'inclure toute la bibliothèque. Dans de nombreux cas, ça élimine la dépendance du projet à jQuery. | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Score total pour "Bibliothèques et Paquets" |
Score total pour "Bibliothèques et Paquets" | | | | | | | | | | |
Data binding |
Supporte la liaison bidirectionnelle des données.Les modèles et vues (affichages) peuvent se mettre à jour mutuellement. |
Supporte la liaison bidirectionnelle des données.Les modèles et vues (affichages) peuvent se mettre à jour mutuellement. | ✔ | ✖ | ✔ | ✖ | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ |
Supporte la liaison des données à sens uniqueLes vues (affichages) peuvent se mettre à jour automatiquement quand un objet observable change. |
Supporte la liaison des données à sens uniqueLes vues (affichages) peuvent se mettre à jour automatiquement quand un objet observable change. | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Les modèles sont objets JavaScript unisÇa permet de transférer des données plus facilement entre l'application et REST-Services ou LocalStorage. Cela aussi réduit la complexité des fonctions getter - et setter. |
Les modèles sont objets JavaScript unisÇa permet de transférer des données plus facilement entre l'application et REST-Services ou LocalStorage. Cela aussi réduit la complexité des fonctions getter - et setter. | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Permet l'utilisation de vue mixinsMixins sont une technique de programmation qui permet à différent objets de partager un comportement commun sans besoin d'un héritage object-oriented. |
Permet l'utilisation de vue mixinsMixins sont une technique de programmation qui permet à différent objets de partager un comportement commun sans besoin d'un héritage object-oriented. | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Peut être prolongé par un plugin populaire pour avoir liaison de données bidirectionnelle.Peut être prolongé pour supporter modèles et vues (affichages) en mettant à jour mutuellement. Cela fera la taille du fichier plus grande, cependant vous permet plus de flexibilité. |
Peut être prolongé par un plugin populaire pour avoir liaison de données bidirectionnelle.Peut être prolongé pour supporter modèles et vues (affichages) en mettant à jour mutuellement. Cela fera la taille du fichier plus grande, cependant vous permet plus de flexibilité. | ✖ | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Score total pour "Data binding" |
Score total pour "Data binding" | | | | | | | | | | |
Performance |
La taille de fichier réduite - sans fichiers associésUne taille plus petite du fichier entraîne un temps de chargement plus rapide. |
La taille de fichier réduite - sans fichiers associésUne taille plus petite du fichier entraîne un temps de chargement plus rapide. | 81KB | 78KB | 235KB | 19KB | 65KB | 69KB | 43KB | 247KB | 120KB | N.A. |
Routage et liens profonds (deep linking) pris en chargeLa routing fait possible l’interaction avec le navigateur URL. C'est très important pour la expérience utilisateur si vous créez des applications d'une seule page. |
Routage et liens profonds (deep linking) pris en chargeLa routing fait possible l’interaction avec le navigateur URL. C'est très important pour la expérience utilisateur si vous créez des applications d'une seule page. | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ |
Utilise PromisesDispose d'une implémentation interne de la spécification Promises/A+. Promises est une alternative à callbacks très connue lorsque vous vous occupez des réponses du serveur. |
Utilise PromisesDispose d'une implémentation interne de la spécification Promises/A+. Promises est une alternative à callbacks très connue lorsque vous vous occupez des réponses du serveur. | ✔ | ✖ | ✔ | ✖ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ |
Les modèles peuvent être pre-compilés dans le serveurSupporte un moteur de modèles qui peut-être rendu au serveur. Cela peut améliorer la vélocité de page, spécialement en dispositifs avec une puissance bas. |
Les modèles peuvent être pre-compilés dans le serveurSupporte un moteur de modèles qui peut-être rendu au serveur. Cela peut améliorer la vélocité de page, spécialement en dispositifs avec une puissance bas. | ✖ | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ | ✖ | ✖ | ✔ |
De Dependency InjectionÇa ameiloire la testabilité et la modularité. |
De Dependency InjectionÇa ameiloire la testabilité et la modularité. | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✔ | ✖ |
Score total pour "Performance" |
Score total pour "Performance" | | | | | | | | | | |