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
— Pour afficher une liste d’informations
— Peut connecter une URL au serveur
— Permettre de demander une multitude de requêtes
au serveur.
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