Beruflich Dokumente
Kultur Dokumente
DEPARTAMENTO DE ELÉCTRICA Y
ELECTRÓNICA
ASIGNATURA FECHA
LABORATORIO DE LUNES, 2 DE JULIO DE 2018
INGENIERÍA WEB
ESTUDIANTE: DÁMARIS NÚÑEZ
PROFESOR(A): ING. RUBÉN LÓPEZ
OBJETIVO GENERAL:
INTRODUCCIÓN:
El proyecto está alojado en GitHub , y el código fuente anotado está disponible, así
como un conjunto de pruebas en línea , una aplicación de ejemplo , una lista de tutoriales
y una larga lista de proyectos del mundo real que usan Backbone. Backbone está
disponible para su uso bajo la licencia de software de MIT.
DESARROLLO:
Es una librería para el desarrollo de sitios web, principalmente usada para aplicaciones
web con bastante interacción con el cliente, donde se hace un uso intensivo de JavaScript,
Ajax, etc. Te permite desarrollar en JavaScript atendiendo a patrones, con una variante
del paradigma MVC, el mismo que se ha introducido con fuerza en la programación del
lado del servidor y que, desde hace menos tiempo, viene empezando a ser costumbre en
el desarrollo del lado del cliente.
Se trata de una herramienta muy indicada en aplicaciones de una sola página, aunque
también es útil para otros tipos de sitios, multi página, donde se encuentran interfaces de
usuario avanzadas. Facilita la ordenación del código y la sincronización de las vistas con
los datos de la aplicación. Todo ello redunda en una programación más modularizada y
con mayor separación entre las partes de la aplicación, como presentación, datos, etc.
¿Cómo funciona?
Backbone se sostiene sobre una serie de piezas clave que nos permitirán, de una forma
sencilla, construir cualquier aplicación:
• Modelos
• Vistas
• Colecciones
• Eventos
Dentro de una aplicación, los datos que ésta gestiona son manejados a través de
‘modelos’, los cuales nos permitirán operar sobre dichos datos, validarlos, procesarlos,
etc. Al mismo tiempo, cada vez que realicemos una operación sobre el modelo, Backbone
lanzará eventos para comunicar al resto de componentes qué tipo de operación se está
realizando sobre éste. Así, de esta forma, podremos asociar dichos modelos a las ‘vistas’
para que, al mismo tiempo, reaccionen al cambio de estado del modelo y se muestren de
una manera u otra en función del estado de éste. De esta manera se consigue separar
perfectamente la lógica de negocio de la vista.
Modelos
En Backbone los modelos son la base de cualquier aplicación. Nos permiten gestionar
los datos y la lógica que manejará nuestra aplicación.
Internamente, los modelos implementan un “map” que albergará todos y cada uno de
los datos de la aplicación, gestionarán la lógica de negocio y, además, nos proporciona
soporte para gestionar el sincronismo entre la capa de datos y la capa de persistencia.
Cada vez que un modelo sufre un cambio, éste lanza un evento que es escuchado por
otros componentes de la aplicación. Lo más habitual es asociar un modelo a una vista de
la aplicación, así ésta es capaz de reaccionar a dichos cambios de estado y cambiar según
el estado de éste.
Vistas
Las vistas nos permiten representar, a nivel de interfaz de usuario, los datos que son
manejados por los modelos.
Backbone no da soporte a plantillas HTML de forma directa, por lo que será necesario
usar librerías de terceros para gestionar, de manera sencilla, las plantillas HTML. En
futuros tutoriales veremos cómo usarlas.
Para crear una vista necesitamos extender de la clase ‘View’ de Backbone mediante el
uso de la palabra reservada ‘extend’.
Cuando estamos definiendo una vista, definimos elemento HTML que va a representar
la vista mediante el atributo ‘tagName’. Si no indicamos este atributo, por defecto la vista
que se crea será un ‘div’.
Colecciones
Cuando desarrollemos una aplicación con Backbone nos vamos a encontrar multitud
de casos en los que tengamos que lidiar con colecciones de modelos. Y será en esos casos
cuando nos surgirá la siguiente pregunta: ¿Cómo puedo representar y gestionar en mi
aplicación una lista de modelos de manera sencilla? Para eso, Backbone nos proporciona
una herramienta muy potente, las colecciones (Collection). Las colecciones son conjuntos
ordenados de modelos y lo que nos permiten es gestionar dichos modelos mediante una
multitud de funciones y utilidades.
Al igual que ocurre con los modelos, las colecciones también lanzan eventos al resto
de elementos de nuestra aplicación cuando su estado, o el de los modelos que contiene,
cambian.
Una vez creada nuestra colección, Backbone nos ofrece una multitud de funciones a
aplicar sobre la colección:
• set: actualiza una colección de modelos con la colección de modelos que recibe
por parámetro.
Eventos
Para que un objeto se pueda suscribir a un evento, será necesario lanzar la función ‘on’
sobre el objeto que lanza dicho evento, pasando el nombre del evento sobre el que se va
a suscribir.
Facilidades de Backbone
Tal como se definen ellos mismos, Backbone.js ofrece una estructura para aplicaciones
que hace uso intensivo de JavaScript y que provee de modelos llave / valores enlazables
mediante eventos, colecciones con la posibilidad de realizar diferentes utilidades por
medio de una API, vistas con manejadores de eventos declarativos y conexión a interfaces
REST nuevas o ya disponibles anteriormente.
Usa Backbone en una aplicación web la cual posee bastante lógica de negocio, bastante
interacción, bastantes métodos y eventos trabajando. Es un buen entorno donde sería
excelente usar Backbone.js. Es útil también en cualquier página, que, aun siendo sencilla,
tiene los mismos datos y se muestran en varios sitios distintos, replicados en diversos
elementos, ya que te permite mantener la sincronización con todos esos datos de una
manera sencilla y prácticamente automática, sin que tengas que estar revisando
constantemente cuándo cambian tus datos para actualizarlos en todos los lugares donde
aparecen.
Características relevantes
Una talla de archivo menor tiene como consecuencia mayor rapidez de carga
(subida de archivos y descarga).
El routing permite la interacción con la URL del navegador. Es muy importante
para la experiencia del usuario, si se están construyendo aplicaciones de una sola
página.
Soporta un motor de plantilla que puede ser pre-recopilado en el servidor. Esto
mejora, muy posiblemente, la velocidad de página, especialmente en dispositivos
con baja potencia de computación.
Esto mejora muchísimo el rastreo del motor de búsqueda. Acrecentar muy
posiblemente la velocidad de página, especialmente en dispositivos con baja
potencia de computación.
Permite incorporar patrones de vista para una vista de alto nivel a partir de una
plantilla o patrón establecido.
Puede extenderse para soportar modelos y vistas que se actualicen mutuamente.
Esto añade talla al archivo, pero al mismo tiempo ofrece mayor flexibilidad.
Un tamaño de archivo menor da lugar a tiempos de carga (subidas y descargas)
más rápidos.
INSTALACIÓN:
Para cargar Backbone y sus dependencias es necesario seguir los pasos descritos a
continuación:
EJERCICIO PRÁCTICO:
1. Crear una carpeta en donde se tenga otras carpetas de nombres css, img y js.
2. Dentro del archivo index.html, colocar el siguiente código:
CONCLUSIONES:
RECOMENDACIONES:
BIBLIOGRAFÍA: