[Javascript] Was ist der Zweck von backbone.js?


Answers

Wenn Sie komplexe Benutzeroberflächen im Browser erstellen, werden Sie wahrscheinlich die meisten Teile, die Frameworks wie Backbone.js und Sammy.js ausmachen, selbst erfinden. Die Frage ist also, bauen Sie etwas kompliziert genug im Browser, um es zu nutzen (damit Sie am Ende nicht die gleiche Sache selbst erfinden).

Wenn das, was Sie planen, etwas ist, bei dem die Benutzeroberfläche regelmäßig die Anzeige ändert, aber nicht auf den Server geht, um ganze neue Seiten zu erhalten, dann benötigen Sie wahrscheinlich etwas wie Backbone.js oder Sammy.js. Das Kardinalbeispiel für so etwas ist Googles Google Mail. Wenn Sie es jemals benutzt haben, werden Sie bemerken, dass es einen großen Teil von HTML, CSS und JavaScript herunterlädt, wenn Sie sich das erste Mal einloggen und danach alles im Hintergrund passiert. Es kann zwischen dem Lesen einer E-Mail und dem Verarbeiten des Posteingangs und dem Suchen und Zurückgehen durch alle von ihnen wechseln, ohne jemals nach einer ganz neuen Seite zu fragen, die gerendert werden soll.

Es ist diese Art von App, die diese Frameworks übertreffen, um die Entwicklung zu erleichtern. Ohne sie werden Sie entweder eine Vielzahl von einzelnen Bibliotheken zusammenfassen, um Teile der Funktionalität zu erhalten (zum Beispiel jQuery BBQ für Geschichtsmanagement, Events.js für Ereignisse, etc.) oder Sie werden am Ende alles selbst bauen und alles selbst zu warten und zu testen. Vergleichen Sie das mit etwas wie Backbone.js, das tausende von Leuten auf Github beobachtet hat, hunderten von Gabeln, an denen Leute daran arbeiten können, und hunderten von Fragen, die bereits hier auf Stack Overflow gestellt und beantwortet wurden.

Aber nichts davon ist von Bedeutung, wenn das, was Sie planen zu bauen, nicht kompliziert genug ist, um die mit einem Rahmenwerk verbundene Lernkurve wert zu sein. Wenn Sie immer noch PHP, Java oder andere Sites erstellen, auf denen der Back-End-Server noch immer die mühselige Erstellung der Webseiten auf Anfrage durch den Benutzer durchführt und JavaScript / jQuery nur eine Krönung dieses Prozesses ist, dann sind Sie nicht Sie brauchen oder sind noch nicht bereit für Backbone.js.

Question

Ich habe versucht, den Nutzen von backbone.js von seiner Website http://documentcloud.github.com/backbone zu verstehen, aber ich konnte immer noch nicht viel herausfinden.

Kann mir jemand helfen, indem ich ihm erläutere, wie es funktioniert und wie es beim Schreiben von besserem JavaScript hilfreich sein könnte?




backbone.js ist Model-View-Controller (MVC) mit JavaScript, aber Extjs besser als Backbone für MVC Pattern von Java Script

Mit Backbone hast du die Freiheit, fast alles zu tun, was du dir wünschst. Anstatt zu versuchen, durch die API zu forchen und anzupassen, würde ich Backbonejs für seine Einfachheit und Einfachheit der Implementierung verwenden. Wieder ist es schwer zu sagen, was Sie von den beiden benötigen, ist eine Bibliothek eine andere Komponente




Hier ist eine interessante Präsentation:

Ein Intro zu Backbone.js

Tipp (von den Folien):

  • Schienen im Browser? Nein .
  • Ein MVC-Framework für JavaScript? Sorta .
  • Eine große fette Staatsmaschine? JA !



Es fügt auch Routing mit Controllern und Ansichten mit KVO hinzu. Sie können damit "AJAXy" -Anwendungen entwickeln.

Sehen Sie es als leichtes Sproutcore- oder Cappuccino-Gerüst.




Ich muss zugeben, dass alle "Vorteile" von MVC meine Arbeit nie einfacher, schneller oder besser gemacht haben. Es macht die gesamte Code-Erfahrung abstrakter und zeitaufwendiger. Wartung ist ein Albtraum, wenn man versucht, jemandes Konzept zu entschlüsseln, was Trennung bedeutet. Ich weiß nicht, wie viele von euch jemals versucht haben, eine FLEX-Site zu aktualisieren, die Cairngorm als MVC-Modell verwendet hat, aber was 30 Sekunden dauern sollte, kann oft mehr als 2 Stunden dauern (Jagen / Tracken / Debuggen nur um ein einzelnes Ereignis zu finden ). MVC war und ist für mich ein "Vorteil", den man stopfen kann.




JQuery und Mootools sind nur eine Toolbox mit vielen Tools Ihres Projekts. Backbone verhält sich wie eine Architektur oder ein Rückgrat für Ihr Projekt, auf dem Sie eine Anwendung mit JQuery oder Mootools erstellen können.




So viele gute Antworten schon. Backbone js hilft, den Code organisiert zu halten. Das Ändern des Modells / der Sammlung sorgt für eine automatische Darstellung der Ansicht, wodurch der Entwicklungsaufwand reduziert wird.

Obwohl es maximale Flexibilität für die Entwicklung bietet, sollten Entwickler darauf achten, die Modelle zu zerstören und die Ansichten ordnungsgemäß zu entfernen. Andernfalls kann es zu einem Speicherleck in der Anwendung kommen.




Links