NPDD/Baobáxia/Infra Interface

De Rede Mocambos
< NPDD | Baobáxia(Diferença entre revisões)
Ir para: navegação, pesquisa
(sobre o backbone / interface)
 
(funcionamento da view)
 
(3 edições intermediárias de um usuário não apresentadas)
Linha 16: Linha 16:
 
     router.js
 
     router.js
 
     /collections
 
     /collections
 +
      /media
 +
        MediaCollection.js
 +
      /mocambola
 +
        ...
 +
      /mucua
 +
        ...
 +
      /repository
 +
        ...
 
     /lib
 
     /lib
 
       backbone-amd.js
 
       backbone-amd.js
 
       jquery-min.js
 
       jquery-min.js
 +
      require.js
 
       underscore-amd.js
 
       underscore-amd.js
 
     /models
 
     /models
Linha 31: Linha 40:
 
       /repository
 
       /repository
 
   /templates
 
   /templates
 +
 +
 +
=== Fluxo do funcionamento do backbone ===
 +
==== Funcionamento das rotas ====
 +
 +
1) index.html
 +
Carrega o main.js (inicializador do backbone) e a biblioteca require.js (biblioteca de carregador de bibliotecas)
 +
<script data-main="js/main" src="js/lib/require.js"></script>
 +
 +
2) main.js
 +
Seta as configurações do require, e define os caminhos das bibliotecas utilizadas (jquery, underscore, backbone etc), e inicializa a aplicação (app.js)
 +
 +
3) app.js
 +
Chamado pelo main.js, diz quais libs serão usadas (jquery, underscore, backbone e router.js) e chama o router.js
 +
 +
4) router.js
 +
Configuração do mapa de rotas (routes) e funções de ativação das rotas
 +
 +
==== Funcionamento das rotas ====
 +
 +
1) Ao receber uma rota, encaminha para a função. Ex.:
 +
 +
a) http://localhost/baobaxia_2/baobaxia/tests/backbone-requirejs_0/#redemocambos/dandara
 +
-> enviará para a rota getMucua
 +
 +
b) http://localhost/baobaxia_2/baobaxia/tests/backbone-requirejs_0/#redemocambos/dandara/bbx
 +
-> enviará para rota listBbxCommands
 +
etc...
 +
 +
==== Funcionamento de uma visualização ====
 +
 +
http://localhost/baobaxia_2/baobaxia/tests/backbone-requirejs_0/#redemocambos/dandara/bbx/medias:uuid'
 +
 +
a) chama MediaModel e pega dados da API REST (Django)
 +
 +
b) chama MediaView, e renderiza resultados na template
 +
 +
c) MediaView instancia templates e prepara saída HTML, compila e aplica via Jquery

Edição atual tal como às 15h31min de 15 de outubro de 2013

Conteúdo

Infraestrutura da Interface

Backbone.js

Backbone.js (http://backbonejs.org/ é uma biblioteca de Javascript para construção de interfaces, toda baseada em leitura de dados em arquivos .json, oferecida por uma API REST.

Por isso, ela está pegada na estrutura da API REST

Estrutura básica do Backbone

/base
  index
  /js
    app.js
    main.js
    router.js
    /collections
      /media
        MediaCollection.js
      /mocambola
        ...
      /mucua
        ...
      /repository
        ...
    /lib
      backbone-amd.js
      jquery-min.js
      require.js
      underscore-amd.js
    /models
      MediaModel.js
      Mocambola.js
      Mucua.js
      Repository.js
    /views
      /media
      /mocambola
      /mucua
      /repository
  /templates


Fluxo do funcionamento do backbone

Funcionamento das rotas

1) index.html Carrega o main.js (inicializador do backbone) e a biblioteca require.js (biblioteca de carregador de bibliotecas) <script data-main="js/main" src="js/lib/require.js"></script>

2) main.js Seta as configurações do require, e define os caminhos das bibliotecas utilizadas (jquery, underscore, backbone etc), e inicializa a aplicação (app.js)

3) app.js Chamado pelo main.js, diz quais libs serão usadas (jquery, underscore, backbone e router.js) e chama o router.js

4) router.js Configuração do mapa de rotas (routes) e funções de ativação das rotas

Funcionamento das rotas

1) Ao receber uma rota, encaminha para a função. Ex.:

a) http://localhost/baobaxia_2/baobaxia/tests/backbone-requirejs_0/#redemocambos/dandara

-> enviará para a rota getMucua

b) http://localhost/baobaxia_2/baobaxia/tests/backbone-requirejs_0/#redemocambos/dandara/bbx

-> enviará para rota listBbxCommands

etc...

Funcionamento de uma visualização

http://localhost/baobaxia_2/baobaxia/tests/backbone-requirejs_0/#redemocambos/dandara/bbx/medias:uuid'

a) chama MediaModel e pega dados da API REST (Django)

b) chama MediaView, e renderiza resultados na template

c) MediaView instancia templates e prepara saída HTML, compila e aplica via Jquery

Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Ferramentas
Rede Mocambos