SlideShare una empresa de Scribd logo
1 de 22
Introducción a Backbone.js
   Damián Serrano Thode (@dsthode)

          Betabeers Málaga
             06/09/2012
¿Qué es Backbone.js?

    Es un entorno pseudo-MVC creado por
               DocumentCloud


    Ayuda a estructurar el código javascript


        Ofrece una jerarquía de objetos


Lo mejor contra el spaghetti-code en javascript ;)
Componentes de Backbone.js



          Modelos
         Colecciones
           Vistas
         Enrutadores
Modelos


 Almacenan las propiedades de los objetos


   Gestionan el estado, la persistencia y la
                 validación


Tienen funciones auxiliares y generan eventos
Colecciones


      Contienen conjuntos de modelos


  Gestionan la carga de conjuntos de datos


También tienen funciones auxiliares y generan
                  eventos
Vistas



     Son la parte visible de la aplicación


Controlan los eventos de las colecciones y las
        subvistas, y el flujo de código
Enrutadores




Gestionan el “cambio de página”
Crear una aplicación sencilla

Usar la API de YouTube para obtener una lista de
vídeos y mostrarlos en pantalla
Requisitos

Jquery → http://jquery.com
Librería Javascript (mundialmente conocida)
Requisitos

JSON2 → https://github.com/douglascrockford/JSON-js
Una librería Javascript para la manipulación de JSON
Requisitos

Underscore → http://underscorejs.org
Otra librería Javascript, desarrollada por los de
Backbone.js
Requisitos

Backbone.js → http://backbonejs.org
Creación del modelo

Va a contener los datos de un vídeo de YouTube
●   Id
●   Dimensiones
●   URL de los streams
●   Comentarios, etiquetas, miniaturas
●   Y un montón más de información...
Creación del modelo

var Models = {
     Video: Backbone.Model.extend(),
};
Creación de la colección

Contiene la lista de vídeos obtenidos mediante la
consulta a la API de YouTube


http://gdata.youtube.com/feeds/api/videos
Creación de la colección
var Collections = {
     Videos: Backbone.Collection.extend({
           model: Models.Video,
    url: 'http://gdata.youtube.com/feeds/api/videos?
v=2&alt=jsonc&max-results=9',
           parse: function(resp) {
                return resp.data.items;
           },
     }),
};
Creación de la colección

¿Por qué una función parse()?
{
 "apiVersion": "2.1",
 "data": {
  "updated": "2012-09-04T20:24:14.876Z",
  "totalItems": 1000000,
  "startIndex": 1,
  "itemsPerPage": 10,
  "items": [
   {
    "id": "EGs6MgYOVxg",
    "uploaded": "2012-08-30T00:00:10.000Z",
    ...
Creación de la colección

¿Por qué una función parse()?


Backbone.js espera recibir un conjunto de
elementos.


El resultado de la API que nos interesa está
dentro de una jerarquía, por lo que hay que
devolver el elemento concreto que contiene el
array de vídeos.
Creación de la vista de un vídeo

Contiene la representación del vídeo: el elemento
<object> que carga el reproductor en Adobe Flash


Además muestra otra información del vídeo como
el creador, la descripción, etc...
Creación de la vista de la aplicación

Esta vista se va a encargar de cargar la lista de
vídeos en una colección de Backbone.js


Gestionará el evento de carga de la colección
para mostrar la lista de vídeos
¿Qué ha faltado?

Muchas cosas:
●   Crear o modificar modelos y guardar los datos
●   Usar enrutadores
●   Crear vistas más complejas


Pero todo esto es material para una próxima
edición de betabeers, si os parece bien.
Referencias
●   Backbone.js: tutoriales, demos y más
    –   https://github.com/documentcloud/backbone/wiki

●   Código de la aplicación de ejemplo
    –   https://github.com/dsthode/taller-betabeers-20120906


●   Post explicando el taller
    –   http://dsthode.info/2012/09/crear-una-aplicacion-sencilla-con-backbone-js/

Más contenido relacionado

La actualidad más candente

Webinar - Iniciación a React para desarrollo de interfaces de usuario
Webinar - Iniciación a React para desarrollo de interfaces de usuarioWebinar - Iniciación a React para desarrollo de interfaces de usuario
Webinar - Iniciación a React para desarrollo de interfaces de usuarioArsys
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Nelson Rojas Núñez
 
Nuevas herramientas de visualizacion en JavaScript
Nuevas herramientas de visualizacion en JavaScript Nuevas herramientas de visualizacion en JavaScript
Nuevas herramientas de visualizacion en JavaScript philogb
 
Multiplica tu productividad usando un preprocesador de css
Multiplica tu productividad usando un preprocesador de cssMultiplica tu productividad usando un preprocesador de css
Multiplica tu productividad usando un preprocesador de cssLeonidas Esteban González
 
Tips Bootstrap 3 en Drupal 7
Tips Bootstrap 3 en Drupal 7Tips Bootstrap 3 en Drupal 7
Tips Bootstrap 3 en Drupal 7SuperSoft
 
Conociendo ReactJs . Scio Talks
Conociendo ReactJs . Scio TalksConociendo ReactJs . Scio Talks
Conociendo ReactJs . Scio TalksScio Consulting
 
Buenas prácticas GeneXus - GXTour Chile 2016
Buenas prácticas GeneXus - GXTour Chile 2016Buenas prácticas GeneXus - GXTour Chile 2016
Buenas prácticas GeneXus - GXTour Chile 2016Guillermo González
 
Conexion ptop
Conexion ptopConexion ptop
Conexion ptoparuedaj
 

La actualidad más candente (18)

Azure Functions
Azure FunctionsAzure Functions
Azure Functions
 
Grails barcamp 2013
Grails barcamp 2013Grails barcamp 2013
Grails barcamp 2013
 
Webinar - Iniciación a React para desarrollo de interfaces de usuario
Webinar - Iniciación a React para desarrollo de interfaces de usuarioWebinar - Iniciación a React para desarrollo de interfaces de usuario
Webinar - Iniciación a React para desarrollo de interfaces de usuario
 
Django avanzado: Dia4
Django avanzado: Dia4Django avanzado: Dia4
Django avanzado: Dia4
 
Django avanzado: Dia1
Django avanzado: Dia1Django avanzado: Dia1
Django avanzado: Dia1
 
Introducción a Ruby on rails
Introducción a Ruby on railsIntroducción a Ruby on rails
Introducción a Ruby on rails
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009
 
Nuevas herramientas de visualizacion en JavaScript
Nuevas herramientas de visualizacion en JavaScript Nuevas herramientas de visualizacion en JavaScript
Nuevas herramientas de visualizacion en JavaScript
 
ZK Framework
ZK FrameworkZK Framework
ZK Framework
 
Despliegue de Aplicaciones .Net Core en Docker
Despliegue de Aplicaciones .Net Core en DockerDespliegue de Aplicaciones .Net Core en Docker
Despliegue de Aplicaciones .Net Core en Docker
 
Multiplica tu productividad usando un preprocesador de css
Multiplica tu productividad usando un preprocesador de cssMultiplica tu productividad usando un preprocesador de css
Multiplica tu productividad usando un preprocesador de css
 
Tips Bootstrap 3 en Drupal 7
Tips Bootstrap 3 en Drupal 7Tips Bootstrap 3 en Drupal 7
Tips Bootstrap 3 en Drupal 7
 
Introducción a ndk
Introducción a ndkIntroducción a ndk
Introducción a ndk
 
Conociendo ReactJs . Scio Talks
Conociendo ReactJs . Scio TalksConociendo ReactJs . Scio Talks
Conociendo ReactJs . Scio Talks
 
Firebase: Backend en la nube
Firebase: Backend en la nubeFirebase: Backend en la nube
Firebase: Backend en la nube
 
Buenas prácticas GeneXus - GXTour Chile 2016
Buenas prácticas GeneXus - GXTour Chile 2016Buenas prácticas GeneXus - GXTour Chile 2016
Buenas prácticas GeneXus - GXTour Chile 2016
 
Framework Catalyst
Framework CatalystFramework Catalyst
Framework Catalyst
 
Conexion ptop
Conexion ptopConexion ptop
Conexion ptop
 

Similar a Taller de Backbone.js en Betabeers Malaga 06/09/2012

Taller backbone.js - Betabeers Córdoba (18/10/2012)
Taller backbone.js - Betabeers Córdoba (18/10/2012)Taller backbone.js - Betabeers Córdoba (18/10/2012)
Taller backbone.js - Betabeers Córdoba (18/10/2012)betabeers
 
13. Configuracion De Aplicaciones Web Asp.Net
13.  Configuracion De Aplicaciones Web Asp.Net13.  Configuracion De Aplicaciones Web Asp.Net
13. Configuracion De Aplicaciones Web Asp.Netguest3cf6ff
 
Introducción a Backbone
Introducción a BackboneIntroducción a Backbone
Introducción a BackboneOscar Gensollen
 
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
 
El Mal Odiado Javascript
El Mal Odiado JavascriptEl Mal Odiado Javascript
El Mal Odiado JavascriptEl Jota
 
[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con JavaEudris Cabrera
 
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
 
Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Luis Fernando Aguas Bucheli
 
Esencia de web components
Esencia de web componentsEsencia de web components
Esencia de web componentsPedro J. Molina
 
Esencia de Web Components
Esencia de Web ComponentsEsencia de Web Components
Esencia de Web ComponentsPedro J. Molina
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación JavaAntonio Contreras
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsFreelancer
 

Similar a Taller de Backbone.js en Betabeers Malaga 06/09/2012 (20)

Taller backbone.js - Betabeers Córdoba (18/10/2012)
Taller backbone.js - Betabeers Córdoba (18/10/2012)Taller backbone.js - Betabeers Córdoba (18/10/2012)
Taller backbone.js - Betabeers Córdoba (18/10/2012)
 
13. Configuracion De Aplicaciones Web Asp.Net
13.  Configuracion De Aplicaciones Web Asp.Net13.  Configuracion De Aplicaciones Web Asp.Net
13. Configuracion De Aplicaciones Web Asp.Net
 
Introducción a Backbone
Introducción a BackboneIntroducción a Backbone
Introducción a Backbone
 
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
 
Oc2008 Dojo Y Jee
Oc2008   Dojo Y JeeOc2008   Dojo Y Jee
Oc2008 Dojo Y Jee
 
El Mal Odiado Javascript
El Mal Odiado JavascriptEl Mal Odiado Javascript
El Mal Odiado Javascript
 
Curso Java Avanzado 6 Struts
Curso Java Avanzado   6 StrutsCurso Java Avanzado   6 Struts
Curso Java Avanzado 6 Struts
 
[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java
 
06. jsf (java server faces) (1)
06. jsf (java server faces) (1)06. jsf (java server faces) (1)
06. jsf (java server faces) (1)
 
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
 
Spring framework 3
Spring framework 3Spring framework 3
Spring framework 3
 
Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700
 
[Code Camp 2009] Desarrollando sitios web escalables con ASP.NET MVC (Rodolfo...
[Code Camp 2009] Desarrollando sitios web escalables con ASP.NET MVC (Rodolfo...[Code Camp 2009] Desarrollando sitios web escalables con ASP.NET MVC (Rodolfo...
[Code Camp 2009] Desarrollando sitios web escalables con ASP.NET MVC (Rodolfo...
 
Arquitectura java web
Arquitectura java webArquitectura java web
Arquitectura java web
 
Esencia de web components
Esencia de web componentsEsencia de web components
Esencia de web components
 
Esencia de Web Components
Esencia de Web ComponentsEsencia de Web Components
Esencia de Web Components
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
spring framework
spring frameworkspring framework
spring framework
 
Asp.net 4
Asp.net 4Asp.net 4
Asp.net 4
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 

Último

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 

Último (20)

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 

Taller de Backbone.js en Betabeers Malaga 06/09/2012

  • 1. Introducción a Backbone.js Damián Serrano Thode (@dsthode) Betabeers Málaga 06/09/2012
  • 2. ¿Qué es Backbone.js? Es un entorno pseudo-MVC creado por DocumentCloud Ayuda a estructurar el código javascript Ofrece una jerarquía de objetos Lo mejor contra el spaghetti-code en javascript ;)
  • 3. Componentes de Backbone.js Modelos Colecciones Vistas Enrutadores
  • 4. Modelos Almacenan las propiedades de los objetos Gestionan el estado, la persistencia y la validación Tienen funciones auxiliares y generan eventos
  • 5. Colecciones Contienen conjuntos de modelos Gestionan la carga de conjuntos de datos También tienen funciones auxiliares y generan eventos
  • 6. Vistas Son la parte visible de la aplicación Controlan los eventos de las colecciones y las subvistas, y el flujo de código
  • 8. Crear una aplicación sencilla Usar la API de YouTube para obtener una lista de vídeos y mostrarlos en pantalla
  • 9. Requisitos Jquery → http://jquery.com Librería Javascript (mundialmente conocida)
  • 10. Requisitos JSON2 → https://github.com/douglascrockford/JSON-js Una librería Javascript para la manipulación de JSON
  • 11. Requisitos Underscore → http://underscorejs.org Otra librería Javascript, desarrollada por los de Backbone.js
  • 13. Creación del modelo Va a contener los datos de un vídeo de YouTube ● Id ● Dimensiones ● URL de los streams ● Comentarios, etiquetas, miniaturas ● Y un montón más de información...
  • 14. Creación del modelo var Models = { Video: Backbone.Model.extend(), };
  • 15. Creación de la colección Contiene la lista de vídeos obtenidos mediante la consulta a la API de YouTube http://gdata.youtube.com/feeds/api/videos
  • 16. Creación de la colección var Collections = { Videos: Backbone.Collection.extend({ model: Models.Video, url: 'http://gdata.youtube.com/feeds/api/videos? v=2&alt=jsonc&max-results=9', parse: function(resp) { return resp.data.items; }, }), };
  • 17. Creación de la colección ¿Por qué una función parse()? { "apiVersion": "2.1", "data": { "updated": "2012-09-04T20:24:14.876Z", "totalItems": 1000000, "startIndex": 1, "itemsPerPage": 10, "items": [ { "id": "EGs6MgYOVxg", "uploaded": "2012-08-30T00:00:10.000Z", ...
  • 18. Creación de la colección ¿Por qué una función parse()? Backbone.js espera recibir un conjunto de elementos. El resultado de la API que nos interesa está dentro de una jerarquía, por lo que hay que devolver el elemento concreto que contiene el array de vídeos.
  • 19. Creación de la vista de un vídeo Contiene la representación del vídeo: el elemento <object> que carga el reproductor en Adobe Flash Además muestra otra información del vídeo como el creador, la descripción, etc...
  • 20. Creación de la vista de la aplicación Esta vista se va a encargar de cargar la lista de vídeos en una colección de Backbone.js Gestionará el evento de carga de la colección para mostrar la lista de vídeos
  • 21. ¿Qué ha faltado? Muchas cosas: ● Crear o modificar modelos y guardar los datos ● Usar enrutadores ● Crear vistas más complejas Pero todo esto es material para una próxima edición de betabeers, si os parece bien.
  • 22. Referencias ● Backbone.js: tutoriales, demos y más – https://github.com/documentcloud/backbone/wiki ● Código de la aplicación de ejemplo – https://github.com/dsthode/taller-betabeers-20120906 ● Post explicando el taller – http://dsthode.info/2012/09/crear-una-aplicacion-sencilla-con-backbone-js/