SlideShare uma empresa Scribd logo
1 de 18
Oscar Gensollen Arroyo
Arquitecto de Software
Consultor Senior
www.formativa.com.pe
oscar.gensollen@formativa.com.pe
@oscargensollen
 ¿Qué es Backbone.js?
 Cuando usarlo
 Definición de modelos: atributos, eventos
 Definición de vistas: instanciación, renderización
 Uso de plantillas
 Manejo de colecciones
 Es una librería basad en JavaScript que permite ordenar mejor el código del lado
cliente
 Backbone no es:
 Un framework
 MVC
 Proporciona
 Modelos, con capacidad para binding y manejo de eventos
 Colecciones, con una API muy completa
 Vistas, con manejo de eventos
 Se conecta al servidor mediante una interface REST
 Para aplicaciones con interfaces complejas
 SPAs (Single Page Applications)
 Gmail, Facebook, Twitter
 Ventajas:
 Rápido (experiencia aplicación de escritorio)
 Muy interactivo.
 Escalable.
 Retos:
 Indexación en motores de búsqueda.
 Testing.
 Seguridad.
 Lado Cliente:
 Router(s)
 View(s)
 Model(s)
 Collection(s)
 Lado Servidor:
 Endpoints RESTful
JSON
View
Model
Collection
Router
DOM
Events
 Underscore.js
 jQuery
1. Lo descargamos desde http://backbonejs.org/
2. Referenciar las dependencias y la librería de Backbone
3. Se pueden hacer pruebas sencillas con entorno como jsFiddle (entorno
preconfigurado http://jsfiddle.net/ynkJE/)
 Un modelo representa a una entidad sobre la cual queremos almacenar datos.
 Es el núcleo de nuestra aplicación.
 Manejan estado por medio de atributos.
 También pueden manejar lógica o comportamiento.
 Se comunican por medio de eventos
 Tienen un ciclo de vida: se crean, se guarda estado, se validan, se sincronizan, se
destruyen…
 Directamente
var Auto – new Backbone.Model();
 Definiendo un tipo personalizado:
var Auto = Backbone.Model.extend({
propiedades de instancia
},
{
propiedades de clase
}
);
 Creando la instancia del modelo:
var auto1 = new Backbone.Model({
marca: „Toyota‟,
año: 2012
});
 Un modelo puede provocar un evento cuando su estado cambia.
 Hay que suscribirse al evento ‘change’ del modelo o de una propiedad específica:
auto1.on(“change”,function () {});
auto1.on(“change:marca, function () {});
 Se pueden definir eventos personalizados
 Las vistas permiten organizar de manera lógica el contenido a mostrar.
 Estan soportadas por modelos.
 Manejan los eventos de los modelos y del DOM.
 Una vista se define usando Backbone.View:
var vistaPrincipal = Backbone.View.extend({
// propiedades
});
 Una vista tiene un elemento del DOM asociado, denominado ‘el’
var vistaPrincipal = Backbone.View.extend({
tagName: „tr‟,
id: „detalle‟,
className: „fila‟,
attributes: {
„modelo‟: „corolla‟
}
});
 La instanciación se hace igual que los modelos:
var vista1 = new vistaPrincipal();
 Es común aprovechar la instanciación de una vista para pasarle el modelo:
var principal = new VistaPrincipal({
model: auto1
});
 También se pueden pasar otras propiedades como TagName, id, el, className, etc
 Las vistas tienen una función denominada ‘Render’ que controla su pintado en el
DOM:
var vista1 = Backbone.View.extend({
render: function() {
this.$el.html(„contenido personalizado‟);
return this;
}
});
<script id=“posicion-template” type=“text/html”>
<p>Latitud: <%= latitud %></p>
<Longitud: <%= longitud %></p>
</script>
…
var data = { latitud: -30, longitud: 120 };
var plantilla = $(„#posicion-template‟).html();
this.$el.html(_.template(plantilla,data);
 Una colección es un contenedor de modelos de un mismo tipo.
 Se comporta como un array.
 Interactúa con el servidor para recuperación y almacenamiento.

Mais conteúdo relacionado

Mais procurados (20)

Curso AngularJS - 6. formularios
Curso AngularJS - 6. formulariosCurso AngularJS - 6. formularios
Curso AngularJS - 6. formularios
 
Introduccion a AngularJS
Introduccion a AngularJSIntroduccion a AngularJS
Introduccion a AngularJS
 
Vaadin 8 en BBR Spa
Vaadin 8 en BBR SpaVaadin 8 en BBR Spa
Vaadin 8 en BBR Spa
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
Angularjs
AngularjsAngularjs
Angularjs
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
Java server faces
Java server facesJava server faces
Java server faces
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
Curso JSF - Conceptos Basicos
Curso JSF - Conceptos BasicosCurso JSF - Conceptos Basicos
Curso JSF - Conceptos Basicos
 
MODELO VISTA CONTROLADOR EN PHP
MODELO VISTA CONTROLADOR EN PHPMODELO VISTA CONTROLADOR EN PHP
MODELO VISTA CONTROLADOR EN PHP
 
Modelo mvc
Modelo mvcModelo mvc
Modelo mvc
 
Exposicion JSF
Exposicion JSFExposicion JSF
Exposicion JSF
 
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
 
Angular js
Angular jsAngular js
Angular js
 
06. jsf (java server faces) (1)
06. jsf (java server faces) (1)06. jsf (java server faces) (1)
06. jsf (java server faces) (1)
 
J2 ee
J2 eeJ2 ee
J2 ee
 
El patrón MVC
El patrón MVCEl patrón MVC
El patrón MVC
 
Clase 19 programación en base a patrones
Clase 19 programación en base a patronesClase 19 programación en base a patrones
Clase 19 programación en base a patrones
 
Modelo, vista, controlador
Modelo, vista, controladorModelo, vista, controlador
Modelo, vista, controlador
 
ASP.NET MVC - validacion de datos
ASP.NET MVC - validacion de datosASP.NET MVC - validacion de datos
ASP.NET MVC - validacion de datos
 

Semelhante a Introducción a Backbone

Esencia de Web Components
Esencia de Web ComponentsEsencia de Web Components
Esencia de Web ComponentsPedro J. Molina
 
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Aplicaciones web con jakarta struts  - Javier Oliver FulgueraAplicaciones web con jakarta struts  - Javier Oliver Fulguera
Aplicaciones web con jakarta struts - Javier Oliver FulgueraJavier Oliver Fulguera
 
Esencia de web components
Esencia de web componentsEsencia de web components
Esencia de web componentsPedro J. Molina
 
FMK Capa de Presentacion
FMK Capa de PresentacionFMK Capa de Presentacion
FMK Capa de Presentacionkaolong
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)Eudris Cabrera
 
Taller de Backbone.js en Betabeers Malaga 06/09/2012
Taller de Backbone.js en Betabeers Malaga 06/09/2012Taller de Backbone.js en Betabeers Malaga 06/09/2012
Taller de Backbone.js en Betabeers Malaga 06/09/2012Damian Serrano Thode
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netAntonio Palomares Sender
 
MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)Senior Dev
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generationSergi Almar i Graupera
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño Ijjegonzalezf
 
Grails: Framework para el desarrollo de aplicaciones Web No 2
Grails: Framework para el desarrollo de aplicaciones Web No 2Grails: Framework para el desarrollo de aplicaciones Web No 2
Grails: Framework para el desarrollo de aplicaciones Web No 2Esteban Saavedra
 
Documentacion struts2 laura.palma
Documentacion struts2 laura.palmaDocumentacion struts2 laura.palma
Documentacion struts2 laura.palmaLaura Palma
 
Aplicaciones en capas1
Aplicaciones en capas1Aplicaciones en capas1
Aplicaciones en capas1mariana
 

Semelhante a Introducción a Backbone (20)

Esencia de Web Components
Esencia de Web ComponentsEsencia de Web Components
Esencia de Web Components
 
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Aplicaciones web con jakarta struts  - Javier Oliver FulgueraAplicaciones web con jakarta struts  - Javier Oliver Fulguera
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
 
Esencia de web components
Esencia de web componentsEsencia de web components
Esencia de web components
 
FMK Capa de Presentacion
FMK Capa de PresentacionFMK Capa de Presentacion
FMK Capa de Presentacion
 
Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
 
Struts en Java
Struts en JavaStruts en Java
Struts en Java
 
Taller de Backbone.js en Betabeers Malaga 06/09/2012
Taller de Backbone.js en Betabeers Malaga 06/09/2012Taller de Backbone.js en Betabeers Malaga 06/09/2012
Taller de Backbone.js en Betabeers Malaga 06/09/2012
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .net
 
MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
 
Patron mvc struts
Patron mvc strutsPatron mvc struts
Patron mvc struts
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
Documentacion struts2
Documentacion struts2Documentacion struts2
Documentacion struts2
 
Grails: Framework para el desarrollo de aplicaciones Web No 2
Grails: Framework para el desarrollo de aplicaciones Web No 2Grails: Framework para el desarrollo de aplicaciones Web No 2
Grails: Framework para el desarrollo de aplicaciones Web No 2
 
Documentacion struts2 laura.palma
Documentacion struts2 laura.palmaDocumentacion struts2 laura.palma
Documentacion struts2 laura.palma
 
Aplicaciones en capas1
Aplicaciones en capas1Aplicaciones en capas1
Aplicaciones en capas1
 
MVC
MVCMVC
MVC
 

Último

Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Luis Fernando Uribe Villamil
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf7adelosriosarangojua
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docxssusere34b451
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesssuserbe0d1c
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptxjarniel1
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialEducática
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometriasofiasonder
 
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .llocllajoaquinci00
 
BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).jcaballerosamayoa
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareAndres Avila
 
taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariaandresingsiseo
 
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnaTELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnajrujel91
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALGuadalinfoHuscarGuad
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónAntonia Yamilet Perez Palomares
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxdoloresolmosantiago
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...Kevin Serna
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfprofmartinsuarez
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfMarianneBAyn
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxJohanna4222
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC6dwwcgtpfx
 

Último (20)

Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
 
BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundaria
 
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnaTELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptx
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdf
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptx
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
 

Introducción a Backbone

  • 1. Oscar Gensollen Arroyo Arquitecto de Software Consultor Senior www.formativa.com.pe oscar.gensollen@formativa.com.pe @oscargensollen
  • 2.  ¿Qué es Backbone.js?  Cuando usarlo  Definición de modelos: atributos, eventos  Definición de vistas: instanciación, renderización  Uso de plantillas  Manejo de colecciones
  • 3.  Es una librería basad en JavaScript que permite ordenar mejor el código del lado cliente  Backbone no es:  Un framework  MVC  Proporciona  Modelos, con capacidad para binding y manejo de eventos  Colecciones, con una API muy completa  Vistas, con manejo de eventos  Se conecta al servidor mediante una interface REST
  • 4.  Para aplicaciones con interfaces complejas  SPAs (Single Page Applications)  Gmail, Facebook, Twitter  Ventajas:  Rápido (experiencia aplicación de escritorio)  Muy interactivo.  Escalable.  Retos:  Indexación en motores de búsqueda.  Testing.  Seguridad.
  • 5.  Lado Cliente:  Router(s)  View(s)  Model(s)  Collection(s)  Lado Servidor:  Endpoints RESTful JSON
  • 8. 1. Lo descargamos desde http://backbonejs.org/ 2. Referenciar las dependencias y la librería de Backbone 3. Se pueden hacer pruebas sencillas con entorno como jsFiddle (entorno preconfigurado http://jsfiddle.net/ynkJE/)
  • 9.  Un modelo representa a una entidad sobre la cual queremos almacenar datos.  Es el núcleo de nuestra aplicación.  Manejan estado por medio de atributos.  También pueden manejar lógica o comportamiento.  Se comunican por medio de eventos  Tienen un ciclo de vida: se crean, se guarda estado, se validan, se sincronizan, se destruyen…
  • 10.  Directamente var Auto – new Backbone.Model();  Definiendo un tipo personalizado: var Auto = Backbone.Model.extend({ propiedades de instancia }, { propiedades de clase } );
  • 11.  Creando la instancia del modelo: var auto1 = new Backbone.Model({ marca: „Toyota‟, año: 2012 });
  • 12.  Un modelo puede provocar un evento cuando su estado cambia.  Hay que suscribirse al evento ‘change’ del modelo o de una propiedad específica: auto1.on(“change”,function () {}); auto1.on(“change:marca, function () {});  Se pueden definir eventos personalizados
  • 13.  Las vistas permiten organizar de manera lógica el contenido a mostrar.  Estan soportadas por modelos.  Manejan los eventos de los modelos y del DOM.  Una vista se define usando Backbone.View: var vistaPrincipal = Backbone.View.extend({ // propiedades });  Una vista tiene un elemento del DOM asociado, denominado ‘el’
  • 14. var vistaPrincipal = Backbone.View.extend({ tagName: „tr‟, id: „detalle‟, className: „fila‟, attributes: { „modelo‟: „corolla‟ } });  La instanciación se hace igual que los modelos: var vista1 = new vistaPrincipal();
  • 15.  Es común aprovechar la instanciación de una vista para pasarle el modelo: var principal = new VistaPrincipal({ model: auto1 });  También se pueden pasar otras propiedades como TagName, id, el, className, etc
  • 16.  Las vistas tienen una función denominada ‘Render’ que controla su pintado en el DOM: var vista1 = Backbone.View.extend({ render: function() { this.$el.html(„contenido personalizado‟); return this; } });
  • 17. <script id=“posicion-template” type=“text/html”> <p>Latitud: <%= latitud %></p> <Longitud: <%= longitud %></p> </script> … var data = { latitud: -30, longitud: 120 }; var plantilla = $(„#posicion-template‟).html(); this.$el.html(_.template(plantilla,data);
  • 18.  Una colección es un contenedor de modelos de un mismo tipo.  Se comporta como un array.  Interactúa con el servidor para recuperación y almacenamiento.

Notas do Editor

  1. Demo 0:Mostrarinteracción con Trello
  2. Demo 1: creando un modelodirectamente y usando extendDemo 1: propiedades de instancia versus propiedades de claseDemo 2: usando initializeDemo 4: usando ‘set’ y ‘get’
  3. Demo 5: suscribirse al evento change de un modeloDemo 6: mostrarcomocrear un eventopersonalizado (mod 2, minuto 7)
  4. Demo 7: crearuna vista quecree un elementDemo 8: crearuna vista que se mapee a un elementoexistente (mod 3 minute 3)
  5. Demo 9: instanciaruna vista y pasarle un modelo
  6. Demo 10: uso de view con model y eventos, se crea un temporizadorquemuestra la hora actual, segundo a segundo
  7. Demo 11: uso de template (mod 4 minuto 2:38)
  8. Demo 12: crearunacolección