Você gostaria de descobrir um framework que pode ajudar você no desenvolvimento de aplicações JavaScript e que sejam elegantes e organizadas? Backbone.js já está no mercado tem alguns anos e entrega para nós exatamente os componentes que grandes empresas utilizaram no desenvolvimento de aplicações JavaScript complexas de boa qualidade. Me acompanhe até o final deste artigo para entender como funciona o framework ao mesmo tempo que descobre o que é Backbone.js comigo.
O que é Backbone.js?
Backbone.js é uma biblioteca JavaScript criada em 2010 por Jeremy Ashkenas. É conhecida por ser leve pois sua única dependência é a biblioteca Underscores.js. No entanto jQuery é uma dependência opcional que permite você utilizar todo o potencial do framework.
O Backbone.js tenta entregar ao desenvolvedor alguns componentes mínimos: Models e Collections para criação e organização da estrutura dos dados, Views e URL’s para interfaces gráficas de interação com usuário e uma API RESTful JSON e Events para sincronização dos dados. Esses componentes quando combinados dão ao desenvolvedor liberdade para criar Single Page Applications ou simplesmente manter servidor e aplicações clientes sincronizados.
Design Pattern MVC & Backbone.js
O Backbone.js disponibiliza para nós desenvolvedores alguns componentes úteis para criação de aplicações utilizando JavaScript. No entanto quero destacar aqui 3 componentes fundamentais para aplicar o Design Pattern MVC (Model View Controller). São eles:
- Model
- Collection
- View
Você pode combinar estes componentes da maneira como achar melhor – incluindo organizar o projeto seguindo o DesignPattern MVC que é um padrão muito utilizado pelos desenvolvedores com o objetivo de planejar melhor as responsabilidades de uma aplicação. Aplicar corretamente o MVC implica em aplicações JavaScript melhor estruturadas e mais fáceis de dar manutenção no longo prazo.
Single Page Application & Backbone.js Router
O Router é mais um componente fornecido pelo Backbone.js que vale a pena destacar por aqui. Ele é o principal responsável por tornar possível o desenvolvimento de aplicações do tipo Single Page Application. Vou listar para você alguns exemplos de grandes empresas e sites famosos que já adotaram o SPA:
- Netflix
- Airbnb
- GMail/Google
Agora deixe-me tentar explicar para você o que é Single Page Application (SPA). Um SPA é uma aplicação ou site que pode ser acessado pelo seu navegador web – no entanto o que o separa de sites comuns é o fato de ser exibido para o usuário com apenas uma requisição ao servidor. Depois de carregado cada componente visual na tela é capaz de interagir com o servidor para atualizar outros componentes ou a si próprio evitando recarregar toda a página novamente.
A vantagem de se utilizar SPA em seus projetos é entregar na outra ponta um site que é capaz de responder mais rápido as ações executadas pelo usuário. É como se você estivesse entregando para o usuário uma usabilidade parecida com a que encontramos em aplicações nativas como aquelas desenvolvidas diretamente para Desktop, iOS ou Android.
Conecte Backbone.js em sua API RESTful
Você também precisa saber que para ajudar na criação de interfaces ricas e que se comuniquem com o lado servidor Backbone.js já está pronto e pré-configurado para sincronizações usando uma API RESTful.
Caso esteja se perguntado o que é REST: Representational State Transfer (REST) é uma arquitetura para aplicações em rede e que conseguem se comunicar entre si utilizando apenas requisições HTTP simples.
Como no nosso caso estamos falando do framework JavaScript Backbone.js saiba que são os componentes Model e Collection quem possuem internamente mapeamentos para recursos REST através destes seguintes métodos:
// GET /livros/
collection.fetch();
// POST /livros/
collection.create();
// GET /livros/1
model.fetch();
// PUT /livros/1
model.save();
// DEL /livros/1
model.destroy();
No código acima é possível imaginar como sua aplicação cliente feito em Backbone.js executaria facilmente requisições HTTP (POST, GET, PUT ou DELETE) para efetuar no servidor operações CRUD (create, read, update e delete).
Backbone.js continua relevante em 2020
Talvez você esteja se perguntando por que usar Backbone.js em 2020 e como ele se compara com outros projetos como Knockout.js, React, Angular ou Vue. Qual é o melhor?
Em minha opinião não temos um ganhador. Cada projeto possui necessidades únicas. Ou talvez a equipe que vai trabalhar com você já domina uma solução que atenderia bem o projeto. Minha sugestão como desenvolvedor é que você estude na medida do possível um pouco sobre os frameworks ou bibliotecas disponíveis no mercado. Estes estudos irão orientá-lo no momento que precisar avaliar e decidir qual solução melhor se encaixa em um projeto.
Um cenário de exemplo onde Backbone.js continua relevante para mim é no desenvolvimento de temas ou plugins para WordPress. Quando estou desenvolvendo com WordPress quero evitar o máximo possível de dependências externas. Backbone.js foi oficialmente incluido no WordPress desde sua versão 3.5 e desde então não tenho dúvidas em preferir Backbone comparado à outras bibliotecas.
Pré-requisitos para aprender Backbone.js
Os requisitos para aprender Backbone.js não são complexos. Saber o básico de JavaScript e JQuery é suficiente para iniciar sua jornada como iniciante até ser capaz de construir uma aplicação do Zero usando Backbone.