Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Backbone.JS

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Robson Robson
November 26, 2014

 Backbone.JS

Breve introdução sobre framework Backbone.js.

Avatar for Robson

Robson

November 26, 2014

Other Decks in Technology

Transcript

  1. ROTEIRO • Introdução • Benefícios • Dependências • Modelo (model)

    • Visão (view) • Coleção (collection) • Router • Referências
  2. INTRODUÇÃO O que é? • O Backbone.js é um framework

    Javascript que fornece componentes para melhorar a estrutura de aplicações web • É um framework de Modelo-Visão-Controlador (MVC) para JavaScript voltado ao cliente.
  3. INTRODUÇÃO Hospedagem: https://github.com/jashkenas/backbone/ Você pode relatar erros e discutir características

    na página de problemas GitHub. https://github.com/jashkenas/backbone/issues Site Oficial: http://backbonejs.org/
  4. BENEFÍCIOS • O Backbone.js almeja solucionar problemas de acoplamento de

    código.  Emaranhados de callbacks.  Códigos empilhados.  Códigos para displays específicos invadindo a lógica de aplicação.
  5. DEPENDÊNCIA • Biblioteca pré-requisitada pelo Backbone;  persistência RESTful; 

    suporte history via Backbone.Router;  manipulação DOM com Backbone.View  incluem jQuery, e json2.js de apoio mais Internet Explorer (versões mais antigas).
  6. DEPENDÊNCIA • A JQuery ou a Zepto, ainda que não

    sejam estritamente exigidas são suportadas pelo Backbone.
  7. MODELO • São Responsáveis por armazenar, recuperar e transformar dados.

    • contém os dados interativos, bem como uma grande parte da lógica que o rodeia: as conversões, validações, propriedades computadas e controle de acesso. • O modelo em si precisa compreender como lidar com os dados que recebe e como buscar a si mesmo a partir do repositório de dados.
  8. VISÃO • A classe Backbone.View tem a responsabilidade de apresentar

    dados e elementos visuais aos usuários da aplicação; • A primeira coisa a se destacar sobre a classe Backbone.View é que ela é responsável pela apresentação de um Model, contendo a lógica de renderização deste Model.
  9. VISÃO • São usadas ​​para refletir o que os modelos

    de dados de suas aplicações se parecem. (Níveis diferentes de detalhes).
  10. VISÃO • Existe muita discussão sobre o Backbone aplicar corretamente

    o MVC, e segundo a documentação oficial, os componentes podem sim estar ligados ao padrão MVC aplicado, por exemplo, no Ruby on Rails. Exemplo 2 Criando e instanciando uma view.
  11. COLEÇÃO DEFINIÇÃO: • É simplesmente um conjunto ordenado de modelos.

    • Coleções fornecem recursos de estado a seus modelos, intermediando leituras e escritas de dados para o servidor backend e a partir dele, notifica quaisquer ouvintes quando os modelos são lidos ou modificados. • Responsáveis por armazenar, recuperar e atualizar família de modelos.
  12. COLEÇÃO Para iterar pela coleção é possível utilizar 28 funções

    fornecidas pela biblioteca Underscore.js. http://underscorejs.org/ chain every filter find first forEach groupBy include indexOf initial invoke isEmpty last lastIndexOf map max min reduce reduceRight reject rest size some sortBy sortedIndex shuffle toArray without
  13. ROUTER • A classe Backbone.Router provê métodos para construir essas

    rotas no lado cliente, e conecta cada rota a ações e eventos definidos via Javascript. • para customizar a Backbone.Router basta utilizar o método extend()
  14. ROUTER Rota Simples: • Ao customizar este método (extend), diversos

    atributos podem ser definidos, como, por exemplo o parâmetro routes. OBS.: Uma boa prática é evitar o uso de / no início de uma rota.
  15. ROUTER Rotas dinâmicas: • Além de definir rotas simples também

    é possível definir rotas que receberão parâmetros dinâmicos através da URL. • :parametro – Essa notação definirá que existirá somente este parâmetro definido. OBS.: Os parâmetros são definidos sempre após o “/”.
  16. ROUTER • *parametros – Em contrapartida com a notação anterior,

    irá mapear diversos parâmetros de uma URL, desconsiderando seu prefixo.
  17. ROUTER History API: • Backbone.history associa as rotas ao botão

    de histórico do navegador web e suporta navegação regressiva e progressiva. • Backbone.Router utilizará por padrão a History API, e no caso do browser não suportar esta API, a própria classe irá modificar a forma de tratar as URLs, para que use então o formato de hashes.
  18. REFERÊNCIAS http://backbonetutorials.com/ http://backbonejs.org/ http://blog.fernandomantoan.com/ Winson, Mike. Construindo Aplicações Node com

    MongoDB e BackBone / Mike Wilson; [tradução Rafael Zanolli]. – São Paulo: Novatec Editora, 2013.