Após dois anos e meio de desenvolvimento, a versão 1.0 do Backbone.js foi lançada. O Backbone.js é uma popular biblioteca JavaScript que segue o modelo Model/View, utilizada por vários aplicativos web populares, incluindo USA Today, Rdio e Airbnb.
O Backbone.js oferece três principais componentes de construção para os usuários:
- Os Models são usados para representar objetos persistentes. Usando a funcionalidade de sincronização do Backbone.js, os modelos podem automaticamente sincronizar com uma fonte de dados remota (por padrão, um Web Service RESTful). Da mesma forma, o Backbone.js oferece facilidades para gerenciar e sincronizar coleções de modelos com o servidor.
- As Views são usadas na construção de interfaces de aplicações web e podem ser configuradas para ouvir eventos de mudanças dos modelos que elas representam, tornando fácil manter a interface atualizada com o modelo e vice-versa.
- O roteador (router) dá suporte a navegação em uma aplicação Backbone.js. Embora as aplicações baseadas em Backbone.js sejam normalmente interfaces de uma página, é desejável ter URLs que possam ser adicionadas aos favoritos, além de se permitir a utilização do botão voltar na navegação. O roteador do Backbone.js adiciona essas funcionalidades através da nova API de histórico do HTML5 e, quando esta última não é suportada, utiliza o modelo antigo de hash de URL.
A versão 1.0 do Backbone.js traz algumas mudanças em comparação com versões da série 0.9, que incluem uma maneira mais inteligente de realizar atualizações em massa de coleções; decodificação automática de segmentos de URL; e os novos métodos listenTo e stopListening para emissores de eventos. Por padrão, a validação de modelos agora é adiada até o momento em que os modelos são salvos, enquanto em versões anteriores, a validação ocorria imediatamente ao configurar as propriedades de um modelo. Nenhuma dessas mudanças acarreta quebra de compatibilidade, portanto atualizações da versão 0.9 para 1.0 devem ser tranquilas.
A premissa essencial no coração do Backbone tem sido sempre encontrar e descobrir o conjunto mínimo de primitivas na estruturação de dados (Modelos e Coleções) e de interface do usuário (Views e URLs) que sejam úteis na construção de aplicações web com JavaScript. Continuaremos procurando esse tipo específico de característica, e se você acha que encontrou uma dessas características, avise-nos. Em um ecossistema onde frameworks abrangentes do tipo "decidimos-tudo-por-você" são comuns, e muitas bibliotecas exigem que seu site seja reestruturado para se encaixar nas aparências e comportamentos padrões delas, o Backbone continuará a ser uma ferramenta que lhe dá a liberdade para projetar a experiência completa para suas aplicações web.
A versão 1.0 do Backbone.js pode ser baixada como uma único arquivo fonte JavaScript. A versão minimizada e comprimida tem 6.3KB. O Backbone.js tem como dependências o underscore.js, assim como o jQuery ou o Zepto, quando se faz uso de funcionalidades que trabalham com DOM, como as Views e o Router.