Pourquoi choisir Backbone
en 2015 ?

@florentduveau

Dev chez Xebia

Etat du monde JS en 2014

  • Hégémonie d'Angular (mais incertitudes sur l'avenir)
     
  • Montée en puissance de React (poussé par Facebook)
     
  • Arrivée des Web Components (Nouveau standard ?)
     
  • Stabilité de Backbone (2 versions mineures en 2014)
     
  • Explosion de l'utilisation mobile (en web app)

retour sur Backbone

En quelques mots

Créé et maintenu par Jérémy Ashkenas
Première version le 13 octobre 2010 (4 ans déjà !)
Répondre à une problématique DATA / UI
≈ 1 000 lignes de code

Utilisé en production par

...

Le premier...

...à voir le jour

Sur github

au 30 novembre 2014

Backbone n'est pas

  • Un framework (≠ Angular, Ember)
     
  • Hype (≠ React)
     
  • Une solution miracle ( = Angular, Ember, React & co...

Backbone est

  • Une librairie (focus sur l'architecture des données (REST), et un peu des vues)
     
  • Simple ! (≠ Ember)
     
  • Léger ! (≠ Ember)
     
  • Non intrusif (≠ Ember, Angular)

Backbone est simple

Model, Collection, View

+ Router, Events

Backbone est léger

6,5kb (gzipped, ≈38kb (jQuery + underscore))

 

 

Angular ≈ 36 kb / Ember ≈ 136 kb ! (jQuery + handlebars) 

Memory print ?

 

Mais quand même...

focus sur le data-binding

Angular = 2 ways data-binding (dirty checking) = memory use


Ember = 2 ways data-binding (observer) = memory use

Backbone = Rien par défaut, des plugins existent pour du 1way ou 2ways = memory use... ou pas !

 

Backbone est non intrusif

  • Choix du templating
     
  • Choix du data-binding
     
  • Choix architecture
     
  • Choix d'utiliser simplement les milliards de plugins JS de la terre.

Comment choisir ?

2 critères

  1. Outils adaptés aux besoins

     
  2. Connaissance de ces outils

vision framework

Vision backbone

Pourquoi Backbone en 2015 ?

  1. Backbone est un stable, éprouvé, validé
  2. Backbone est simple (pas de magie)
  3. Grande communauté et Jeremy toujours très actif
  4. Backbone vous laisse choisir :
    1. l'architecture
    2. les briques techniques
      View : Marionette, Thorax, Ampersand...
      DataBinding : Epoxy, Stickit, Rivets...
      ....

Backbone s'adapte à vos besoins !
et à son époque

Pourquoi backbone est moderne ?

Approche modulaire !

Même approche que les micro-services, nodeJS
=
On choisi ce dont on a besoin.
Chaque composant a son cycle de vie
=

Plus de souplesse
Plus de réactivité
Plus de productivité !

Ce que j'utilise

Backbone pour la gestion des Model / Collection

Marionette pour les View et les Region Manager
Wreqr pour la gestions des Events (en attendant Radio...)

Hogan pour le templating (rapide et léger)
Lodash plutôt qu'underscore
jQuery plutôt que Zepto

Des questions ?

@florentduveau

Merci !

<3 Backbone <3

backbone2015

By Florent DUVEAU

backbone2015

  • 4,283