SlideShare une entreprise Scribd logo
Backbone.js
  Framework client
Moi ?
—    1996 :

  - <Blink>Hello World</blink>

  - « WebMaster »

  - PHP

  - Starcaft

—    2005 :

  - C#, .Net / Forms

  - Ruby

  - ASP MVC

—    2010 :

  - Javascript
Backbone.js
                          is

—  Model/View/Controller Javascript framework
—  RESTful JSON Connector
—  Hash-Routing Engine
Backone.js
                    n’est pas
—  Un outil d’animation
—  DOM accessor
Qu’est que c’est
—  Un framework pour le rendu des applications, pour
  favoriser l’expérience utilisateur.
Qu’est que c’est
—  Si tu fais du Javascript, tu penses que ça devient
  très sale!

—  Backbone permet d’organiser votre code, grâce au
  MVC.

—  On peut accéder au DOM uniquement à partir des
  vues (avec jQuery, Prototype, etc.)
Le modèle
class App.Picture extends Backbone.Model model: App.Picture

 defaults:

  picture_file_name: "no_image"

 url: ->

  base = "/items/#{@item_id}/contacts/#{@contact_id}/types/#{@type_id}/pictures"

  return base if @isNew()

  base + (if base.charAt(base.length - 1) is "/" then "" else "/") + @id

 validate: (attributes) ->

  "Error!" unless attributes
Le modèle
—  Peut se connecter à une URL du serveur
—  Actions possibles du modèle :
 - Obtenir un élément (get)

 - Sauvegarder un élément (save)

 - Détruire un élément (destroy)

 - Attribuer des valeurs par défaut (defaults)
La collection
class App.Collections.Pictures extends Backbone.Collection

model: App.Picture

url: ->

 "/items/#{@item_id}/contacts/#{@contact_id}/types/#{@type_id}/pictures"
La collection
—  Pour afficher une liste d’informations
—  Peut connecter une URL au serveur
—  Permettre de demander une multitude de requêtes
  au serveur.
La vue
class App.Views.Pictures.AddPictures extends Backbone.View

 template: JST["kukariri_backbonejs/templates/pictures"]

 el: ".modal"

 initialize: (options) ->

  @item = options.item

  @pictures = options.pictures

  @render()




render: ->

  $(@el).html(Haml.render(@template(), { locals: {item: @item, pictures: @pictures}})
La vue
—  Modifier le DOM
—  Associer des évènements au DOM
—  Traiter les informations issues des modèles afin
  des les afficher
Le routeur ou le contrôleur
class App.Routers.Items extends Backbone.Router

 routes:

  "/items/new": "new »

  "/items/:id/edit" : "edit »

 initialize: ->

  @item = new App.Item()

 edit: (id) ->

  @item = new App.Item(id: id)

  @item.fetch

    success: (model, response) ->

     @ViewsItemsEdit = new App.Views.Items.Edit(item: model)
Le routeur ou le contrôleur
—  Utile pour initialiser les états d’une application
—  Permet d’accéder aux différentes pages de
  l’application
Et encore ?
—  Faire beaucoup de petits fichiers Javascript pour les
  meilleurs développeurs et les grosses équipes de
  développement

—  Commenter votre code (exemple : yDoc compatible)
—  Travailler en étant dans les derniers standards de
  HTML5

Contenu connexe

PPTX
Introduction à Angular
PPTX
Pattern MVVM avec MVVM Light Toolkit
PDF
comprendre angularJS en 10 minutes
PDF
Introduction au Framework AngularJs
PDF
jQuery GTI780 & MTI780 ETS A09
PPTX
jQuery vs AngularJS
PDF
[fr] Introduction et Live-code Backbone.js à DevoxxFR 2013
PPTX
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs
Introduction à Angular
Pattern MVVM avec MVVM Light Toolkit
comprendre angularJS en 10 minutes
Introduction au Framework AngularJs
jQuery GTI780 & MTI780 ETS A09
jQuery vs AngularJS
[fr] Introduction et Live-code Backbone.js à DevoxxFR 2013
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

En vedette (10)

ODP
Be api - Web Mobile
PPTX
Cours yeoman backbone box2d
PDF
Mobile Inception - Web API Security
PDF
Web APIs in Action (in French)
PPTX
ASP.NET MVC 5 et Web API 2
PDF
ID連携入門 (実習編) - Security Camp 2016
PPTX
London Adapt or Die: Opening Keynote with Chet Kapoor
PPTX
Paris JUG - Backbone.js en environnement Java - Laurent DUTHEIL et Frederic M...
PPTX
ASP.NET MVC, Web API & KnockoutJS
PPTX
Armadilllo SimeSitem
Be api - Web Mobile
Cours yeoman backbone box2d
Mobile Inception - Web API Security
Web APIs in Action (in French)
ASP.NET MVC 5 et Web API 2
ID連携入門 (実習編) - Security Camp 2016
London Adapt or Die: Opening Keynote with Chet Kapoor
Paris JUG - Backbone.js en environnement Java - Laurent DUTHEIL et Frederic M...
ASP.NET MVC, Web API & KnockoutJS
Armadilllo SimeSitem
Publicité

Similaire à Backbonejs presentation (20)

PPTX
MVVM de A à Z
KEY
La mobilité dans Drupal
PPTX
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
PDF
Introduction à Angularjs
PPT
Soutenance Zend Framework vs Symfony
PDF
Cours_ASP_NET_MVC_Premiers_pas.pdfTESTPAR
PPT
Spring MVC
PDF
Play framework - Human Talks Grenoble - 12.02.2013
PDF
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
PPTX
Tableau de bord Yammer sous SharePoint 2013
PDF
Play Framework - Toulouse JUG - nov 2011
PDF
Chapitre 1-Composants et Modules.pdf
PDF
Chapitre 1-Composants et Modules.pdf
ODP
Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016
PDF
Cours 2 les composants
PPTX
L'architecture MVVM avec KnockoutJS
PDF
Chapitre3_Angular_part1 ANGULAR ISTIC SI.pdf
PDF
Developpement dun site_web_developpement
PDF
Developpement_dun_site_web_Developpement.pdf
PDF
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
MVVM de A à Z
La mobilité dans Drupal
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Introduction à Angularjs
Soutenance Zend Framework vs Symfony
Cours_ASP_NET_MVC_Premiers_pas.pdfTESTPAR
Spring MVC
Play framework - Human Talks Grenoble - 12.02.2013
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Tableau de bord Yammer sous SharePoint 2013
Play Framework - Toulouse JUG - nov 2011
Chapitre 1-Composants et Modules.pdf
Chapitre 1-Composants et Modules.pdf
Web Components et Polymer 2 - GDG Algiers DevFest 2016 - 3 Décembre 2016
Cours 2 les composants
L'architecture MVVM avec KnockoutJS
Chapitre3_Angular_part1 ANGULAR ISTIC SI.pdf
Developpement dun site_web_developpement
Developpement_dun_site_web_Developpement.pdf
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
Publicité

Backbonejs presentation

  • 2. Moi ? —  1996 : - <Blink>Hello World</blink> - « WebMaster » - PHP - Starcaft —  2005 : - C#, .Net / Forms - Ruby - ASP MVC —  2010 : - Javascript
  • 3. Backbone.js is —  Model/View/Controller Javascript framework —  RESTful JSON Connector —  Hash-Routing Engine
  • 4. Backone.js n’est pas —  Un outil d’animation —  DOM accessor
  • 5. Qu’est que c’est —  Un framework pour le rendu des applications, pour favoriser l’expérience utilisateur.
  • 6. Qu’est que c’est —  Si tu fais du Javascript, tu penses que ça devient très sale! —  Backbone permet d’organiser votre code, grâce au MVC. —  On peut accéder au DOM uniquement à partir des vues (avec jQuery, Prototype, etc.)
  • 7. Le modèle class App.Picture extends Backbone.Model model: App.Picture defaults: picture_file_name: "no_image" url: -> base = "/items/#{@item_id}/contacts/#{@contact_id}/types/#{@type_id}/pictures" return base if @isNew() base + (if base.charAt(base.length - 1) is "/" then "" else "/") + @id validate: (attributes) -> "Error!" unless attributes
  • 8. Le modèle —  Peut se connecter à une URL du serveur —  Actions possibles du modèle : - Obtenir un élément (get) - Sauvegarder un élément (save) - Détruire un élément (destroy) - Attribuer des valeurs par défaut (defaults)
  • 9. La collection class App.Collections.Pictures extends Backbone.Collection model: App.Picture url: -> "/items/#{@item_id}/contacts/#{@contact_id}/types/#{@type_id}/pictures"
  • 10. La collection —  Pour afficher une liste d’informations —  Peut connecter une URL au serveur —  Permettre de demander une multitude de requêtes au serveur.
  • 11. La vue class App.Views.Pictures.AddPictures extends Backbone.View template: JST["kukariri_backbonejs/templates/pictures"] el: ".modal" initialize: (options) -> @item = options.item @pictures = options.pictures @render() render: -> $(@el).html(Haml.render(@template(), { locals: {item: @item, pictures: @pictures}})
  • 12. La vue —  Modifier le DOM —  Associer des évènements au DOM —  Traiter les informations issues des modèles afin des les afficher
  • 13. Le routeur ou le contrôleur class App.Routers.Items extends Backbone.Router routes: "/items/new": "new » "/items/:id/edit" : "edit » initialize: -> @item = new App.Item() edit: (id) -> @item = new App.Item(id: id) @item.fetch success: (model, response) -> @ViewsItemsEdit = new App.Views.Items.Edit(item: model)
  • 14. Le routeur ou le contrôleur —  Utile pour initialiser les états d’une application —  Permet d’accéder aux différentes pages de l’application
  • 15. Et encore ? —  Faire beaucoup de petits fichiers Javascript pour les meilleurs développeurs et les grosses équipes de développement —  Commenter votre code (exemple : yDoc compatible) —  Travailler en étant dans les derniers standards de HTML5