Project

General

Profile

Comparaison des technologies

Comparaison des frameworks JavaScript

Framework Conclusions Points AngularJS Points Backbone.js Points Ember.js
Apprentissage du framework + Productivité du développeur
AngularJS Pas besoin de passer de longues d’heures d’apprentissage avant de voir des résultats basics. Après l’apprentissage, le développeur peut devenir très productif. 2
Backbone.js Apprentissage facile mais au fil du temps on s’aperçoit qu’il n’y a pas assez d’options pour apprendre comment mieux structurer son code. Ne met pas en avant la productivité du développeur - beaucoup de code pour peu de résultats. 1 (apprentissage)
Ember.js L’apprentissage est plus facile que pour Angular, mais demande un grand effort au niveau du temps pour avoir des connaissances basiques. Bonne productivité du développeur (beaucoup de choses automatiques), il suffit d'apprendre et d'appliquer les règles. 1 (productivité)
Fonctionalité + flexibilité
AngularJS Le framework le plus utilisé pour développer les applications web à une page. Possède quelques plugins utiles. Peut être très flexible à un certain niveau mais peut devenir encombrant si on n’aime pas certaines fonctionnalités. 1 (fonctionnalité)
Backbone.js Manque de features intégrées utiles comparer à des autres frameworks comme Angular. Mais possède beaucoup de plugins. Très flexible. 2
Ember.js A la même principe du "two-way biding" que Angular. Peut être flexible à un certain niveau mais peut devenir encombrant si on n’aime pas certaines fonctionnalités. 1 (fonctionnalité)
Popularité (Stack Overflow) / communauté *
AngularJS Grande communauté sur le net mais pas autant que Backbone. Depuis sa sortie en 2009, le framework n'a pas été très populaire jusqu'en 2012 où il y'a eu soudainement une très grande hausse de popularité jusqu'à aujourd'hui. 2
Backbone.js Très grande communauté dans les forums, tutoriels et sur StackOverflow. Après sa sortie en 2010, le framework était populaire après que la première version d'Ember soit sortie en 2012 , mais en 2013 Angular vient s'égaliser avec le framework et prends très rapidement le dessus. 1
Ember.js Grande communauté sur le net mais pas autant que Backbone ou Angular. Depuis sa sortie en 2011, la popularité du framework reste assez stable et n'évolue que très légèrement en 2012. 0
Documentation et exemples de code
AngularJS Documentation complète, mais difficile à comprendre. Grande manque d’exemples de code. 0
Backbone.js Bonne documentation avec de bons exemples de codes, mais pas tous à jour. 2
Ember.js La documention s'améliore avec le temps, pas mal d'exemple de code, mais certains ne sont pas à jour (changement d'API). 1
Taille (sans les dépendences)
AngularJS 39.5 KB 0
Backbone.js 6.5 KB 1
Ember.js 90 KB 0
Dépendences
AngularJS Peu 1
Backbone.js Backbone.js, Jquery.js, Underscore.js 0
Ember.js Ember.js, Jquery.js, Handlebars.js 0
Stabilité de l'API
AngularJS - 0
Backbone.js Très stable 1
Ember.js Stable 0
Total points 6 8 3

*Les résultats d'une requête effectuée sur http://data.stackexchange.com/stackoverflow/queries afin de déterminer le nombre de messages existants pour chaque framework et de savoir lequel est le plus populaire sur le site Stack Overflow, durant les 6 derniers mois.

*La popularité des 3 frameworks dans le monde entier depuis 2009 (première version d'AngularJS) jusqu'à maintenant:


source: https://www.google.com/trends/explore#geo&q=%22angularjs%22,+backbone,+ember&cmpt=q

Comparaison des librairies JavaScript

Librairie Avantages Inconvénients
OpenLayers Open source et gratuit.
Plusieurs exemples disponibles.
Lourd (700K Openlayer).
Syntaxe API compliquée et encore en train d’être modifiée.
La version 3 est basée sur le développement avec beaucoup de features qui ne sont pas utilisées par des utilisateurs habituels.
Leaflet Open source et gratuit.
Se focalise plus sur la performance, la convivialité et la simplicité.
Utilisation simplifiée.
Bonne documentation (API) et plusieurs exemples simples de code disponible sur GitHub.
Léger et rapide.
Syntaxe API simple.
Exemple - intégration d'une carte géographique dans une application AngularJS et interaction via Leaflet.
Manque de fonctionnalités avancées.

Conclusion

Après avoir comparé ces 3 frameworks JavaScript populaires, ainsi que ces 2 librairies pour l'interactivité des cartes, il semblerait que pour atteindre les objectifs du projet CrowdStreams, la combinaison idéale soit le framework AngularJS avec la librairie Leaflet.