BackboneJS, la alternativa a AngularJS y EmberJS: claves para desarrolladores

4 min lectura
Desarrollo / 23 diciembre 2015
BackboneJS, la alternativa a AngularJS y EmberJS: claves para desarrolladores
BackboneJS, la alternativa a AngularJS y EmberJS: claves para desarrolladores

BBVA API Market

AngularJS y EmberJS son los principales marcos de desarrollo de aplicaciones por el lado del cliente, pero no son los únicos. La tercera alternativa, también muy utilizada dentro de la comunidad de desarrolladores, es BackboneJS. Son tres frameworks basados en el paradigma Modelo-Vista-Controlador con los que cualquier programador puede crear la estructura de un proyecto digital. Esta es una guía de claves para acometer desarrollos con BackboneJS.

Hoy en día son muchos los programadores que escogen un marco de desarrollo MVC para el diseño de aplicaciones porque así dejan en manos del framework la sincronización de los cambios entre el documento HTML y el DOM. Es el propio marco el que realiza cada modificación de forma automática sin necesidad de intervención por parte del desarrollador. Al igual que AngularJS y EmberJS, BackboneJS se apoya en bibliotecas JavaScript para el diseño visual del front-end: fundamentalmente jQuery y jQuery Mobile.

Características de BackboneJS

BackboneJS dispone de algunas características que pueden ser una ventaja para cualquier desarrollador de aplicaciones web. Algunas de ellas son:

Las partes de BackboneJS

BackboneJS dispone de algunos elementos básicos cuya existencia son fundamentales en el uso de este marco de desarrollo. Son los siguientes:

Modelos y Vistas.

Como cualquier marco de desarrollo basado en el paradigma Modelo-Vista-Controlador, la lógica de negocio está separada de la interfaz de usuario. Así es mucho más fácil trabajar la interfaz por parte del equipo de desarrollo porque evita cualquier problema. El modelo es el núcleo del marco, que se encarga de ordenar los datos de la aplicación web: organiza la lógica de datos y negocio y emite eventos cuando los datos cambian.

Así se crea un modelo en BackboneJS:

var Human = Backbone.Model.extend({
    initialize: function(){
        alert(“Welcome to this world”);
    }
});

var human = new Human(); 

Cualquier cambio que se realice en el modelo se puede guardar en la base de datos mediante el uso del método save (un tutorial del site StackOverFlow).

La vista es la parte visible, la interfaz de usuario de la aplicación que se está desarrollando con BackboneJS. Se encarga de gestionar los elementos del DOM. Normalmente las vistas reaccionan ante cualquier cambio en los datos de un modelo y se renderizan de forma automática para sincronizarse. Esto convierte el desarrollo en una tarea más sencilla.

Por tanto, la vista hace tres cuestiones principalmente:

  1. Reacciona ante los cambios de los datos del modelo y renderiza de nuevo la interfaz de usuario para actualizarla.
  2. Maneja toda la interactividad con el usuario.
  3. Remite al modelo los inputs de esa interacción del usuario.
     

Colecciones

Una colección permite manejar un conjunto de modelos relacionados. Proporciona todo tipo de funciones para la realización, por ejemplo, de cálculos en un grupo de modelos y facilita la gestión de la carga de los nuevos modelos por parte del servidor. Las colecciones generan un evento add (añadir) o remove (eliminar) cada vez que llega o se va un elemento a esa colección. Cada evento que se produzca en uno de los modelos provoca de forma automática un evento en la colección. 

Los modelos dentro de una colección suelen estar ordenados por defecto según el orden de inserción. De todas formas, es posible cambiar el orden de los elementos de la colección mediante la función comparator, que ordena los elementos de forma automática cada vez que se produce una adición nueva a ese conjunto de modelos.   

Clientes = Backbone.Collection.extend({
    comparator: function(cliente){
        // ordenamos por el atributo nombre
        return cliente.get(‘nombre’);
    }
    // …
});

Routing con urls

El Router permite que el usuario pueda navegar por la aplicación y encuentre en cada momento urls vinculadas y actualizadas en cada lugar de esa app. Es lo que permite que el usuario no se pierda nunca en esa navegación, puede avanzar a nuevas páginas dentro de la app o bien volver a hacia atrás. El usuario cambia de vistas y modelos, pero el comportamiento es idéntico.

Primeros pasos para empezar a programar

Para comenzar a utilizar BackboneJS es necesario seguir estos pasos: 

<script src=”jquery.js”></script>
<script src=”underscore.js”></script>
<script src=”backbone.js”></script>

Síguenos en @BBVAAPIMarket

También podría interesarte