SlideShare une entreprise Scribd logo
1  sur  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)

Contenu connexe

Tendances

Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPKristen Le Liboux
 
Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Ahmed-Chawki Chaouche
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiersHeithem Abbes
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataLhouceine OUHAMZA
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications JavaAntoine Rey
 
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Ippon
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...XavierPestel
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)ENSET, Université Hassan II Casablanca
 

Tendances (20)

Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
Cours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweightCours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweight
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
HTML, CSS et Javascript
HTML, CSS et JavascriptHTML, CSS et Javascript
HTML, CSS et Javascript
 
Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)
 
Introduction a Flutter
Introduction a FlutterIntroduction a Flutter
Introduction a Flutter
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-data
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Cours design pattern m youssfi partie 6 proxy
Cours design pattern m youssfi partie 6 proxyCours design pattern m youssfi partie 6 proxy
Cours design pattern m youssfi partie 6 proxy
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
La plateforme JEE
La plateforme JEELa plateforme JEE
La plateforme JEE
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Cours design pattern m youssfi partie 4 composite
Cours design pattern m youssfi partie 4 compositeCours design pattern m youssfi partie 4 composite
Cours design pattern m youssfi partie 4 composite
 
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 

En vedette

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...Matt Raible
 
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. ...Publicis Sapient Engineering
 
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 Appsjivkopetiov
 
Cours yeoman backbone box2d
Cours yeoman backbone box2dCours yeoman backbone box2d
Cours yeoman backbone box2dhugomallet
 
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 2017Matt Raible
 
#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 2015Matt Raible
 
Comparing JVM Web Frameworks - February 2014
Comparing JVM Web Frameworks - February 2014Comparing JVM Web Frameworks - February 2014
Comparing JVM Web Frameworks - February 2014Matt Raible
 

En vedette (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
 

Similaire à Comparatif des frameworks js mv

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?Microsoft
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloudstefounet
 
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?benjguin
 
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.pdfJEANCLAUDECAMARA
 
Challenge Exakis - Visual studio 2015
Challenge Exakis - Visual studio 2015Challenge Exakis - Visual studio 2015
Challenge Exakis - Visual studio 2015Jonathan Le Guellec
 
[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 2013Sylvain Zimmer
 
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)Vincent Biret
 
Angluars js
Angluars jsAngluars js
Angluars jsRYMAA
 
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 BootstrapTelecomValley
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Antoine Rey
 
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 paasChristophe Laporte
 
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 searchIdriss Neumann
 
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 AzureGUSS
 
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 AzureLevio
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkMSDEVMTL
 

Similaire à 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)