Índice
Outro dos principais aspectos que devemos levar em consideração quando trabalhamos com Backbone.js É gerenciamento de memória, pois temos total liberdade na hora de criar nossa aplicação, muitas vezes devemos apresentar soluções para melhorar seu desempenho.Até certo ponto isso é uma vantagem, mas pode se tornar um problema, então podemos parar de nos concentrar nos aspectos interessantes do desenvolvimento, para isso podemos continuar explorando o comportamento que podemos alcançar ao incluir extensões de Backbone.js como por exemplo MarionetteJS.
Problema com visualizações
Por ter um vista reutilizável, devemos também pensar em como limpá-lo ao usá-lo para gerar um novo objeto e, adicionalmente, pensar sobre o manipuladores de eventos, uma vez que estes podem se tornar um pequeno problema aos nossos olhos. Um caso que podemos analisar é o seguinte:
Primeiro definimos uma visão e dizemos a ela que quando ela é gerada, ela lança uma caixa de alerta para que saibamos quando o evento ocorre. Até este ponto não vemos nada de estranho, mas o que acontece se reutilizarmos o objeto quando instanciamos o modelo, vejamos:
O que acontece neste caso é que quando usarmos o mesmo nome de variável novamente obteremos a mesma mensagem de alerta novamente, isso acontece porque ao criar o segundo uso da variável, o primeiro está fora do escopo, então o coletor de lixo javascript coleta para otimizar a memória.
Solução possívelUma solução interessante que poderíamos aplicar é fechar a vista, com isso conseguimos que a referência ao objeto inicial seja mantida e então não temos que repetir os métodos associados à sua inicialização.
Então, ficaríamos com algo semelhante a isto:
Conseguimos resolver este problema, porém algo ainda não está certo, o tratamento manual deste problema não é algo que pareça muito útil, pois se pensarmos um pouco mais o que acontece se tivermos que tornar uma aplicação muito mais extensa e complexo, esse tipo de solução apenas tornaria nosso aplicativo mais complicado de manter e muito mais pesado.
Solução: MarionetteJS
Para resolver este tipo de caso, podemos recorrer a MarionetteJS, que como uma extensão é colocado em Backbone.js e nos ajuda na redução de código e na solução de casos como o mostrado acima.
No exemplo a seguir, vemos como MarionetteJS Você pode resolver o problema simplesmente vinculando o evento novamente, simplesmente:
Fazendo isso no método ouvir () de Backbone.js, MarionetteJS está encarregado diretamente de tratar os tratadores de eventos, com os quais evitamos fechar manualmente as visualizações, economizando uma quantidade significativa de código quando se trata de uma aplicação complexa.
No final deste tutorial, vemos como Backbone.js Possui uma grande flexibilidade que nos permite construir soluções que nos auxiliem no desenvolvimento da nossa aplicação.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo