Table des matières
Un autre des aspects clés que nous devons prendre en compte lorsque nous travaillons avec Backbone.js C'est la gestion de la mémoire, car nous avons une liberté totale lors de la création de notre application, nous devons souvent introduire des solutions pour améliorer ses performances.Dans une certaine mesure, c'est un avantage, mais cela peut devenir un problème, nous pouvons donc arrêter de nous concentrer sur les aspects intéressants du développement, pour cela nous pouvons continuer à explorer le comportement que nous pouvons obtenir en incluant des extensions de Backbone.js comme par exemple MarionnetteJS.
Problème avec les vues
En ayant un vue réutilisable, nous devons également réfléchir à la façon de le nettoyer lorsque vous l'utilisez pour générer un nouvel objet et en plus penser à la gestionnaires d'événements, car ceux-ci peuvent devenir un petit problème à notre vue. Un cas que nous pouvons analyser est le suivant :
D'abord, nous définissons une vue et nous lui disons que lorsqu'elle est générée, elle lance une boîte d'alerte afin que nous sachions quand l'événement se produit. Jusqu'ici nous ne voyons rien d'étrange mais que se passe-t-il si nous réutilisons l'objet lorsque nous instancions le modèle, voyons :
Ce qui se passe dans ce cas, c'est que lorsque nous utilisons à nouveau le même nom de variable, nous obtenons à nouveau le même message d'alerte, cela se produit car lors de la création de la deuxième utilisation de la variable, la première est hors de portée, donc le ramasse-miettes javascript la collecte afin d'optimiser la mémoire.
Solution possibleUne solution intéressante que nous pourrions appliquer consiste à fermer la vue, ce qui nous permet de conserver la référence à l'objet initial et de ne pas avoir à répéter les méthodes associées à son initialisation.
Ensuite, nous serions laissés avec quelque chose de similaire à ceci:
Nous avons pu résoudre ce problème, cependant quelque chose ne va toujours pas, la gestion manuelle de ce problème n'est pas quelque chose qui semble très utile, car si nous réfléchissons un peu plus loin, que se passe-t-il si nous devons faire une application beaucoup plus étendue et complexe, ce type de solution ne ferait que rendre notre application plus compliquée à maintenir et beaucoup plus lourde.
Solution : MarionetteJS
Pour résoudre ce type de cas, nous pouvons recourir à MarionnetteJS, qui en tant qu'extension est placé sur Backbone.js et cela nous aide à réduire le code et à résoudre des cas comme celui illustré ci-dessus.
Dans l'exemple suivant, nous voyons comment MarionnetteJS Vous pouvez résoudre le problème, simplement en liant à nouveau l'événement, tout simplement :
En faisant cela dans la méthode Ecouter () de Backbone.js, MarionnetteJS il est directement en charge de gérer les gestionnaires d'événements, avec lesquels on évite de fermer manuellement les vues, économisant une quantité de code importante lorsqu'il s'agit d'une application complexe.
À la fin de ce tutoriel, nous voyons comment Backbone.js Il a une grande flexibilité qui nous permet de construire des solutions qui nous aident dans le développement de notre application.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif