SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Présentation frameworks JS MV* (25/02/2016)
• But : choix de frameworks adaptés pour développer des applications
HTML5 compatibles web/mobile
• Exclus d’office : Sencha Ext JS (ticket d’entrée minimum de $4,340)
• Retenus :
• AngularJS et Angular 2 (en beta, sortie finale cette année) (Google)
• Ember.JS (société Tilde) (SproutCore 2.0)
• React (Facebook)
• Knockout (développeur Microsoft)
• Dojo Toolkit
• DoneJS
Comparatif frameworks JS MV*
Critère /
framework
AngularJS Angular 2 Ember.js Backbone.js React Knockout
Type de
framework
MVW (Model
View
Whatever)
MVW Pure MVC MV + VC V MVVM
Data / CRUD Non Non Oui Non Non Non
Data binding Oui Oui Oui (avec
Handlebars)
Basique (Clef-
Valeur)
Oui Oui
Injection de
dépendance
Oui Oui Oui Non Non Non
Facilité
d’écriture des
tests
+ ? + - + -
Templates Oui Oui Handlebars Underscore Non Oui
Templates
multi-niveaux
Oui Oui ? Non Non Oui
Comparatif frameworks JS MV*
Critère /
framework
AngularJS Angular 2 Ember.js Backbone.js React Knockout
I18n Oui En cours Non Non Non Non
Définition de
composants
Oui (nouvelles
balises HTML)
Oui Oui AuraJS /
Backbone UI
Oui Oui
Convention
over
Configuration
Non Non Oui Non Non Non
Taille
(minified)
151kb 1035kb
(beta6)
435kb 69kb 133k 54kb
Taille
(minified+gz)
53,24kb 207kb
(beta6)
90kb 7,3kb 38kb 22kb
Taille
(minified+gz)
avec
dépendances
53,24kb 207kb
(beta6)
136.2kb
(jQuery +
Handlebars)
43.5kb
(jQuery +
Underscore)
20.6kb
(Zepto +
38kb 22kb
Comparatif frameworks JS MV*
Critère /
framework
AngularJS Angular 2 Ember.js Backbone.js React Knockout
Deep-linking
(favoris)
Oui Oui Oui Oui Non Non
Routing Oui Oui Oui Oui Non Non
Validation Oui Oui Non Non Non Non
Structuration
du code
+ ? ++ (Structure
MVC à suivre
strictement)
= ? ?
Mobile Non Etudié pour (perfs) - Non React Native Non
Sécurité ++ (doc) ? + ? - -
Debogage + ? ++ - + -
Langages JS JS JS (ES5 / 6) ; TypeScript,
Dart (objets)
JS JS JSX JS
Comparatif frameworks JS MV*
Critère /
framework
Dojo Toolkit Donejs
Type de
framework
Librairie MVVM
Data / CRUD Non Non
Data binding Non Oui
Injection de
dépendance
Non Non
Facilité
d’écriture des
tests
+ +
Templates Non Oui
Templates
multi-niveaux
Non ?
Comparatif frameworks JS MV*
Critère /
framework
Dojo Toolkit Donejs
i18n Oui Non
Définition de
composants
Non ?
Convention
over
Configuration
Non Non
Taille
(minified)
118kb ?
Taille
(minified+gz)
42,9kb ?
Taille
(minified+gz)
avec
dépendances
42,9kb ?
Comparatif frameworks JS MV*
Critère /
framework
Dojo Toolkit Donejs
Routing Oui Oui
Deep-linking Oui Oui
Validation Non Non
Structuration
du code
= ?
Mobile Non Oui
Sécurité - -
Debogage - -
Langages JS JS JS
Comparatif frameworks JS MV*
Critère /
framework
Angular Angular 2 Ember.js Backbone.js React Knockout
Compétences
disponibles
x17 comparé à
Ember / React
N/A 1 ? 1 ?
Pérennité + (Google) +++ (Google)
(version 2)
- - +++ (Facebook) -
Compatibilité
autres technos
Doc / aide dispo +++ + ++ + ++ +
Facilité de
montée en
compétences
? ? ? ? ? ?
Scalabilité + +
Performances Annoncé
similaire à React
(DOM : x5
comparé à
Angular)
Gains en temps
de dev
+ + ++ = + +
Coût Open-source Open-source Open-source Open-source Open-source Open-source
Comparatif frameworks JS MV*
Critère /
framework
Dojo Toolkit Donejs
Compétences
disponibles
- -
Pérennité - --
Compatibilité
autres technos
? -
Doc / aide
dispo
Assez fouilli -
Facilité de
montée en
compétences
? ?
Scalabilité ? ?
Performances ? ?
Gains en
temps de dev
+ ?
Coût Open-source Open-source
Bilan frameworks JS MV*
Critère /
framework
Angular Angular 2 Ember.js Backbone.js React Knockout Dojo
Toolkit
Donejs
Fonctionnal
ités (en gras
= 2 pts)
19 16 16 4 8
(* framework V)
4 4
(* librairies)
9
Performanc
es /
Scalabilité
+4 -1 +4 +2
Pérennité /
compétenc
es dispos
+6 +3 -1 -1 +3 -1 -2 -3
Documenta
tion
+3 +1 +2 +1 +2 +1 -2 -1
Gains en
temps de
dev
+1 +1 +2 0 +1 +1 0 0
Total points 29 25 18 5 19 5 0 11
Focus sur Angular
• Mobile : Angular Universal pour rendu côté serveur et chargement
initial plus rapide. Ionic et NativeScript pour concevoir des
applications hybrides et natives pour le mobile. Lazy loading. Web
Workers. https://angular.io/features.html
• Support navigateur : IE9+, Android 4.1+, Chrome, Edge, Firefox, Safari
• Angular 2 : Réduire la taille du framework est planifié pour la version
finale
Divers
• Dojo Toolkit : librairie utilitaire plutôt qu’un framework. Offre des
composants comme un Datagrid, le support du drag and drop, des
widgets menus, calendriers, boîtes de dialogues.
• Done JS : dépendant de Node.js
Tendances
(Google
Trends)
Tendances
(Google
Trends) (2)
Tendances
(Google
Trends) (3)
Tendances (Indeed Trends)
Articles comparatifs
• https://www.airpair.com/js/javascript-framework-comparison (Comparaison
Angular / Backbone.js / Ember / août 2014)
• http://voidcanvas.com/why-angularjs-is-generally-better-than-emberjs-and-
backbonejs/ (Comparaison Angular / Backbone.js / Ember 12 nov. 2013)
• https://www.codementor.io/reactjs/tutorial/reactjs-vs-angular-js-performance-
comparison-knockout (comparaison des performances DOM Angular / React /
Knockout)
• http://fr.slideshare.net/mraible/comparing-hot-javascript-frameworks-angularjs-
emberjs-and-reactjs-springone-2gx-2015 (comparaison 2015 Angular JS / Ember
JS / React)
• https://medium.freecodecamp.com/angular-2-versus-react-there-will-be-blood-
66595faafd51#.wouanevct (comparaison Angular 2 / React jan. 2016)

Weitere ähnliche Inhalte

Was ist angesagt?

Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
Sirine Barguaoui
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
Abdoulaye Dieng
 
Présentation de ECMAScript 6
Présentation de ECMAScript 6Présentation de ECMAScript 6
Présentation de ECMAScript 6
Julien CROUZET
 

Was ist angesagt? (20)

Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
 
Nouveautés Java 9-10-11
Nouveautés Java 9-10-11Nouveautés Java 9-10-11
Nouveautés Java 9-10-11
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
 
Maria DB Galera Cluster for High Availability
Maria DB Galera Cluster for High AvailabilityMaria DB Galera Cluster for High Availability
Maria DB Galera Cluster for High Availability
 
Alphorm.com Formation Elastic : Maitriser les fondamentaux
Alphorm.com Formation Elastic : Maitriser les fondamentauxAlphorm.com Formation Elastic : Maitriser les fondamentaux
Alphorm.com Formation Elastic : Maitriser les fondamentaux
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développement
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
 
Introduction à Node.js
Introduction à Node.js Introduction à Node.js
Introduction à Node.js
 
Mariadb une base de données NewSQL
Mariadb une base de données NewSQLMariadb une base de données NewSQL
Mariadb une base de données NewSQL
 
Présentation de ECMAScript 6
Présentation de ECMAScript 6Présentation de ECMAScript 6
Présentation de ECMAScript 6
 
rapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFErapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFE
 
Gestion de-soutenance
Gestion de-soutenanceGestion de-soutenance
Gestion de-soutenance
 
Understanding Sling Models in AEM
Understanding Sling Models in AEMUnderstanding Sling Models in AEM
Understanding Sling Models in AEM
 
Modele rapport pfe esprit
Modele rapport pfe  espritModele rapport pfe  esprit
Modele rapport pfe esprit
 
L'API Collector dans tous ses états
L'API Collector dans tous ses étatsL'API Collector dans tous ses états
L'API Collector dans tous ses états
 
Prometheus – a next-gen Monitoring System
Prometheus – a next-gen Monitoring SystemPrometheus – a next-gen Monitoring System
Prometheus – a next-gen Monitoring System
 
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide CompletAlphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
 

Andere mochten auch

symfony : Simplifier le développement des interfaces bases de données (PHP ...
symfony : Simplifier le développement des interfaces bases de données (PHP ...symfony : Simplifier le développement des interfaces bases de données (PHP ...
symfony : Simplifier le développement des interfaces bases de données (PHP ...
Fabien Potencier
 
AngularJS - a radically different way of building Single Page Apps
AngularJS - a radically different way of building Single Page AppsAngularJS - a radically different way of building Single Page Apps
AngularJS - a radically different way of building Single Page Apps
jivkopetiov
 
Cours yeoman backbone box2d
Cours yeoman backbone box2dCours yeoman backbone box2d
Cours yeoman backbone box2d
hugomallet
 

Andere mochten auch (11)

Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
 
XebiCon'16 : Angular2, React, Vue.js - Bien choisir son framework Front-End. ...
XebiCon'16 : Angular2, React, Vue.js - Bien choisir son framework Front-End. ...XebiCon'16 : Angular2, React, Vue.js - Bien choisir son framework Front-End. ...
XebiCon'16 : Angular2, React, Vue.js - Bien choisir son framework Front-End. ...
 
symfony : Simplifier le développement des interfaces bases de données (PHP ...
symfony : Simplifier le développement des interfaces bases de données (PHP ...symfony : Simplifier le développement des interfaces bases de données (PHP ...
symfony : Simplifier le développement des interfaces bases de données (PHP ...
 
Devoxx test ng
Devoxx test ngDevoxx test ng
Devoxx test ng
 
AngularJS - a radically different way of building Single Page Apps
AngularJS - a radically different way of building Single Page AppsAngularJS - a radically different way of building Single Page Apps
AngularJS - a radically different way of building Single Page Apps
 
Cours yeoman backbone box2d
Cours yeoman backbone box2dCours yeoman backbone box2d
Cours yeoman backbone box2d
 
What's New in JHipsterLand - DevNexus 2017
What's New in JHipsterLand - DevNexus 2017What's New in JHipsterLand - DevNexus 2017
What's New in JHipsterLand - DevNexus 2017
 
#NoXML: Eliminating XML in Spring Projects - SpringOne 2GX 2015
#NoXML: Eliminating XML in Spring Projects - SpringOne 2GX 2015#NoXML: Eliminating XML in Spring Projects - SpringOne 2GX 2015
#NoXML: Eliminating XML in Spring Projects - SpringOne 2GX 2015
 
Comparing JVM Web Frameworks - February 2014
Comparing JVM Web Frameworks - February 2014Comparing JVM Web Frameworks - February 2014
Comparing JVM Web Frameworks - February 2014
 
VueJS: The Simple Revolution
VueJS: The Simple RevolutionVueJS: The Simple Revolution
VueJS: The Simple Revolution
 
Spring Batch ParisJUG
Spring Batch ParisJUG Spring Batch ParisJUG
Spring Batch ParisJUG
 

Ähnlich wie Comparatif des frameworks js mv

Ingénieur étude et développement JAVA JEE.pdf
Ingénieur étude et développement JAVA JEE.pdfIngénieur étude et développement JAVA JEE.pdf
Ingénieur étude et développement JAVA JEE.pdf
JEANCLAUDECAMARA
 

Ähnlich wie Comparatif des frameworks js mv (20)

JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloud
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Ingénieur étude et développement JAVA JEE.pdf
Ingénieur étude et développement JAVA JEE.pdfIngénieur étude et développement JAVA JEE.pdf
Ingénieur étude et développement JAVA JEE.pdf
 
Challenge Exakis - Visual studio 2015
Challenge Exakis - Visual studio 2015Challenge Exakis - Visual studio 2015
Challenge Exakis - Visual studio 2015
 
[fr] Introduction et Live-code Backbone.js à DevoxxFR 2013
[fr] Introduction et Live-code Backbone.js à DevoxxFR 2013[fr] Introduction et Live-code Backbone.js à DevoxxFR 2013
[fr] Introduction et Live-code Backbone.js à DevoxxFR 2013
 
CV REBAI Hamida
CV REBAI HamidaCV REBAI Hamida
CV REBAI Hamida
 
Gradle_LyonJUG
Gradle_LyonJUGGradle_LyonJUG
Gradle_LyonJUG
 
React xp
React xpReact xp
React xp
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
Angluars js
Angluars jsAngluars js
Angluars js
 
2014.12.11 - TECH CONF #3 - Présentation Bootstrap
2014.12.11 - TECH CONF #3 - Présentation Bootstrap2014.12.11 - TECH CONF #3 - Présentation Bootstrap
2014.12.11 - TECH CONF #3 - Présentation Bootstrap
 
Javavs net
Javavs netJavavs net
Javavs net
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?
 
Sql saturday 323 paris 2014 azure migration iaas et paas
Sql saturday 323 paris 2014   azure migration iaas et paasSql saturday 323 paris 2014   azure migration iaas et paas
Sql saturday 323 paris 2014 azure migration iaas et paas
 
Bbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic searchBbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic search
 
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
SQLSaturday Paris 2014 - Et hop, ma base migre dans AzureSQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
 
Angular.pdf
Angular.pdfAngular.pdf
Angular.pdf
 
Expérience pratique de développement Azure
Expérience pratique de développement AzureExpérience pratique de développement Azure
Expérience pratique de développement Azure
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity framework
 

Comparatif des frameworks js mv

  • 1. Présentation frameworks JS MV* (25/02/2016) • But : choix de frameworks adaptés pour développer des applications HTML5 compatibles web/mobile • Exclus d’office : Sencha Ext JS (ticket d’entrée minimum de $4,340) • Retenus : • AngularJS et Angular 2 (en beta, sortie finale cette année) (Google) • Ember.JS (société Tilde) (SproutCore 2.0) • React (Facebook) • Knockout (développeur Microsoft) • Dojo Toolkit • DoneJS
  • 2. Comparatif frameworks JS MV* Critère / framework AngularJS Angular 2 Ember.js Backbone.js React Knockout Type de framework MVW (Model View Whatever) MVW Pure MVC MV + VC V MVVM Data / CRUD Non Non Oui Non Non Non Data binding Oui Oui Oui (avec Handlebars) Basique (Clef- Valeur) Oui Oui Injection de dépendance Oui Oui Oui Non Non Non Facilité d’écriture des tests + ? + - + - Templates Oui Oui Handlebars Underscore Non Oui Templates multi-niveaux Oui Oui ? Non Non Oui
  • 3. Comparatif frameworks JS MV* Critère / framework AngularJS Angular 2 Ember.js Backbone.js React Knockout I18n Oui En cours Non Non Non Non Définition de composants Oui (nouvelles balises HTML) Oui Oui AuraJS / Backbone UI Oui Oui Convention over Configuration Non Non Oui Non Non Non Taille (minified) 151kb 1035kb (beta6) 435kb 69kb 133k 54kb Taille (minified+gz) 53,24kb 207kb (beta6) 90kb 7,3kb 38kb 22kb Taille (minified+gz) avec dépendances 53,24kb 207kb (beta6) 136.2kb (jQuery + Handlebars) 43.5kb (jQuery + Underscore) 20.6kb (Zepto + 38kb 22kb
  • 4. Comparatif frameworks JS MV* Critère / framework AngularJS Angular 2 Ember.js Backbone.js React Knockout Deep-linking (favoris) Oui Oui Oui Oui Non Non Routing Oui Oui Oui Oui Non Non Validation Oui Oui Non Non Non Non Structuration du code + ? ++ (Structure MVC à suivre strictement) = ? ? Mobile Non Etudié pour (perfs) - Non React Native Non Sécurité ++ (doc) ? + ? - - Debogage + ? ++ - + - Langages JS JS JS (ES5 / 6) ; TypeScript, Dart (objets) JS JS JSX JS
  • 5. Comparatif frameworks JS MV* Critère / framework Dojo Toolkit Donejs Type de framework Librairie MVVM Data / CRUD Non Non Data binding Non Oui Injection de dépendance Non Non Facilité d’écriture des tests + + Templates Non Oui Templates multi-niveaux Non ?
  • 6. Comparatif frameworks JS MV* Critère / framework Dojo Toolkit Donejs i18n Oui Non Définition de composants Non ? Convention over Configuration Non Non Taille (minified) 118kb ? Taille (minified+gz) 42,9kb ? Taille (minified+gz) avec dépendances 42,9kb ?
  • 7. Comparatif frameworks JS MV* Critère / framework Dojo Toolkit Donejs Routing Oui Oui Deep-linking Oui Oui Validation Non Non Structuration du code = ? Mobile Non Oui Sécurité - - Debogage - - Langages JS JS JS
  • 8. Comparatif frameworks JS MV* Critère / framework Angular Angular 2 Ember.js Backbone.js React Knockout Compétences disponibles x17 comparé à Ember / React N/A 1 ? 1 ? Pérennité + (Google) +++ (Google) (version 2) - - +++ (Facebook) - Compatibilité autres technos Doc / aide dispo +++ + ++ + ++ + Facilité de montée en compétences ? ? ? ? ? ? Scalabilité + + Performances Annoncé similaire à React (DOM : x5 comparé à Angular) Gains en temps de dev + + ++ = + + Coût Open-source Open-source Open-source Open-source Open-source Open-source
  • 9. Comparatif frameworks JS MV* Critère / framework Dojo Toolkit Donejs Compétences disponibles - - Pérennité - -- Compatibilité autres technos ? - Doc / aide dispo Assez fouilli - Facilité de montée en compétences ? ? Scalabilité ? ? Performances ? ? Gains en temps de dev + ? Coût Open-source Open-source
  • 10. Bilan frameworks JS MV* Critère / framework Angular Angular 2 Ember.js Backbone.js React Knockout Dojo Toolkit Donejs Fonctionnal ités (en gras = 2 pts) 19 16 16 4 8 (* framework V) 4 4 (* librairies) 9 Performanc es / Scalabilité +4 -1 +4 +2 Pérennité / compétenc es dispos +6 +3 -1 -1 +3 -1 -2 -3 Documenta tion +3 +1 +2 +1 +2 +1 -2 -1 Gains en temps de dev +1 +1 +2 0 +1 +1 0 0 Total points 29 25 18 5 19 5 0 11
  • 11. Focus sur Angular • Mobile : Angular Universal pour rendu côté serveur et chargement initial plus rapide. Ionic et NativeScript pour concevoir des applications hybrides et natives pour le mobile. Lazy loading. Web Workers. https://angular.io/features.html • Support navigateur : IE9+, Android 4.1+, Chrome, Edge, Firefox, Safari • Angular 2 : Réduire la taille du framework est planifié pour la version finale
  • 12. Divers • Dojo Toolkit : librairie utilitaire plutôt qu’un framework. Offre des composants comme un Datagrid, le support du drag and drop, des widgets menus, calendriers, boîtes de dialogues. • Done JS : dépendant de Node.js
  • 17. Articles comparatifs • https://www.airpair.com/js/javascript-framework-comparison (Comparaison Angular / Backbone.js / Ember / août 2014) • http://voidcanvas.com/why-angularjs-is-generally-better-than-emberjs-and- backbonejs/ (Comparaison Angular / Backbone.js / Ember 12 nov. 2013) • https://www.codementor.io/reactjs/tutorial/reactjs-vs-angular-js-performance- comparison-knockout (comparaison des performances DOM Angular / React / Knockout) • http://fr.slideshare.net/mraible/comparing-hot-javascript-frameworks-angularjs- emberjs-and-reactjs-springone-2gx-2015 (comparaison 2015 Angular JS / Ember JS / React) • https://medium.freecodecamp.com/angular-2-versus-react-there-will-be-blood- 66595faafd51#.wouanevct (comparaison Angular 2 / React jan. 2016)