100Punkte

AngularJS

68Punkte

Backbone JS

Vergleichssieger
AngularJS
Backbone JS
vs
vs

52 Fakten im Vergleich

AngularJS vs Backbone JS

AngularJS
Backbone JS

Warum ist AngularJS besser als Backbone JS?

  • Hat wechselseitige Datenbindung
    ?
  • Unterstützt einseitige Datenbindung
    ?
  • Modelle sind einfache JavaScipt-Objekte
    ?
  • Benutzt Promises
    ?
  • Hat eine automatische View-Filterung
    ?
  • Reicht über HTML hinaus
    ?
  • Hat Dependency Injection
    ?
  • Hat ein beliebtes Plugin welches Animationen unterstützt
    ?

Warum ist Backbone JS besser als AngularJS?

  • 62KB kleinere Dateigröße ohne Abhängigkeiten
    ?

    19KBvs81KB
  • Verwendet eine Template-Engine
    ?
  • Templates können auf dem Server vorkompiliert werden
    ?
  • Kann auf dem Server gerendert werden
    ?
  • Unterstützt zusammengesetzte (einseitige) Ansichten
    ?
  • Kann um ein Plugin erweitert werden um eine wechselseitige Datenbindung zu haben
    ?
  • Lässt sich gut mit Bibliotheken erweitern um Promises/A+ Unterstützung zu erhalten.
    ?
  • 30KB kleinere Dateigröße, Abhängigkeiten mit einbezogen
    ?

    51KBvs81KB

Allgemeine Information

Hat eine automatische View-Filterung
AngularJS
Backbone JS
Hat einen Mechanismus der Views anhand von Variablen (z.B. beim Suchen) filtert, ohne zusätzlichen Code schreiben zu müssen.
Verwendet eine Template-Engine
AngularJS
Backbone JS
Template-Engines ermöglichen eine leichte und flexible UI-Erstellung.
Unterstützt berechnete Eigenschaften
AngularJS
Backbone JS
Erlaubt den Gebrauch von Funktionen als Bestandteile um die Bestandteile von Objekten auszurechnen.
Benutzt JSX zum Templating
AngularJS
Backbone JS
JSX ist eine Templating-Engine die es Entwicklern ermöglicht Markup direkt in ihren Code zu schreiben, welcher dann zu einfachem JavaScript live-oder vorkompiliert wird. Das eliminiert die Trennung zwischen View-Markup und Code und ermöglicht schnelle Verbesserungen über String-based templating Sprachen.
Reicht über HTML hinaus
AngularJS
Backbone JS
Manche Leute sehen es als Vorteil durch die Eliminierung des Zuschlags einer anderen Template-Sprache.
Unter MIT-Lizenz veröffentlicht
AngularJS
Backbone JS
Die MIT-Lizenz ist eine liberale Lizenz die sämtliche Gebrauchsformen, einschließlich des unternehmerischen Gebrauchs, ohne Gewähr erlaubt.
Kann dazu benutzt werden, um einen Teil eines anderen Frameworks zu ersetzen, ohne dabei die restlichen Funktionen zu entfernen.
Ermöglicht innerhalb eines Templates View-Templates in top-Level Views zu verschachteln.
Hat ein gängiges Boilerplate-Projekt
AngularJS
Backbone JS
Hat ein offizielles oder bekanntes Boilerplate-Projekt mit dem empfohlene Datenstrukturen angelegt werden können und Entwicklern hilft, schneller anzufangen.

Plugins

Hat ein Plugin mit dem man auf einfache Weise View Animation kreieren kann.
Von den offiziellen Pluginquellen. Plugins bieten einen leichten Weg die Funktionalität zu steigern oder andere Dienste zu integrieren. Eine Vielzahl an Plugins ist auf eine aktive Community zurückzuführen, sowie darauf, dass das Framework sehr kompatibel und/oder flexibel ist.
Hat eine festgelegte Plugin-Quelle.
AngularJS
Backbone JS
Das zeigt, dass das Framework ein lebendes Ökosystem und eine starke Gemeinschaftsunterstützung hat, sowie mehr Flexibilität und schnellere Entwicklung ermöglicht.
Plugin um Nutzereingaben zu prüfen bevor diese verarbeitet oder an einen Server geschickt werden. Obwohl dieses Verfahren nicht die Serverprüfung ersetzt, kann es das Nutzererlebnis enorm steigern.
Beinhaltet Dienste um Modelle mit deren Server-Repräsentation synchron zu halten ohne Boilerplate Ajax Calls schreiben zu müssen.
Hat ein Plugin um Modelle mit ihren Server-Repräsentationen zu synchronisieren ohne Boilerplate Ajax calls schreiben zu müssen.
Unterstützt Animationen
AngularJS
Backbone JS
Enthält einfache Möglichkeiten um View-Animations zu kreieren.
Hat ein Plugin welches eine einfache Funktion zum synchronisieren von Modellen mit HTML5 LocalStorge anbietet.

Libraries & Packages

Um die DOM-Manipulation zu bedienen, benötigt man weder eine bestimmte Bibliothek (so wie jQuery, Zepto oder MooTools), noch wird spezifisch auf eine hingewiesen; der Entwickler hat die Freiheit sich eine auszusuchen.
Asynchrone Moduldefinitionsbibliotheken ermöglichen einfache und fehlerfreie modulare Programmierung. Sollte ein Framework mit diesen Bibliotheken nicht optimal funktionieren, weist es wahrscheinlich andere Mittel auf, um Komponente zu modularisieren und um Abhängigkeiten zu beheben.
Bower ist ein leicht zu bedienender, npm-artiger Paketmanager, vor allem für Applikationen.
Der Node Package Manager kann auch benutzt werden um front end Scripts zu managen.
Beinhaltet jQuery Lite
AngularJS
Backbone JS
Benutzt jQuery Lite Elemente, wenn DOM Manipulation notwendig ist. Auf diesem Weg profitieren Entwickler von den komfortablen Helferfunktionen, ohne die gesamte Bibliothek einfügen zu müssen. In vielen Anwendungsfällen beendet dies die Abhängigkeit des Projekts von jQuery.
Beinhaltet die Underscore.js Bibliothek
AngularJS
Backbone JS
Hat die bekannte Dienstbibliothek underscore.js als Abhängigkeit. Underscore enthält Hilfsfunktionen für Listenmanipulation und funktionale Programmierung.

Data binding

Hat wechselseitige Datenbindung
AngularJS
Backbone JS
Models und Views können daran gebunden werden sich gegenseitig zu aktualisieren.
Unterstützt einseitige Datenbindung
AngularJS
Backbone JS
Views können daran gebunden werden sich automatisch zu aktualisieren sobald sich ein beobachtetes Objekt verändert.
Modelle sind einfache JavaScipt-Objekte
AngularJS
Backbone JS
Dies sorgt für leichteren Datenaustausch zwischen der Applikation und REST-Diensten oder dem LocalStorage. Es vermeidet außerdem Komplexität, die durch Getter- und Setter-Funktionen entstehen würde.
Mixins ist eine Programmiermethode, die es verschiedenen Objekten ermöglicht, gleiches Verhalten zu benutzen, ohne Objekt-orientierte Vererbung zu brauchen.
Kann erweitert werden, damit Modelle und Ansichten sich gegenseitig aktualisieren können. Diese Erweiterung erhöht die Dateigröße, sorgt allerdings auch für mehr Flexibilität.
Benutzt Observables für Datenbindungen
AngularJS
Backbone JS
Modelle werden auf Veränderungen beobachtet. Dies ist ein bekanntes Muster. In einigen Fällen kann es effektiver sein als Dirty-Checking.
Benutzt Dirty-Checking
AngularJS
Backbone JS
Prüft Änderungen und aktualisiert die betroffenen Bereiche. Kann in manchen Fällen effektiver sein als Beobachter.

Leistung

Eine kleinere Dateigröße resultiert in schnelleren Ladezeiten.
Unterstützt Routing und Deep Linking
AngularJS
Backbone JS
Routing ermöglicht Interaktion mit der Browser URL. Dies sorgt für ein umfassendes Benutzererlebnis, besonders in One-Page-Apps.
Benutzt Promises
AngularJS
Backbone JS
Hat eine interne Implementierung der Promises/A+ Spezifikation. Promises sind eine beliebte Alternative zu Callbacks beim Umgang mit Serverantworten.
Unterstützt eine Template-Engine die auf dem Server vorgerendert werden kann. Dies kann unter Umständen die Webseitengeschwindigkeit erhöhen, vor allem bei Geräten mit geringer Rechenleistung.
Kann auf dem Server gerendert werden
AngularJS
Backbone JS
Suchmaschinen-Crawlability wird erheblich verbessert. Vor allem bei Geräten mit geringer Rechenleistung kann es möglicherweise den Page Speed verbessern.
Hat Dependency Injection
AngularJS
Backbone JS
Testbarkeit und und Modularität wird dadurch gesteigert.
Weniger Abhängigkeiten resultieren in weniger zusätzlichen Scripts, die einzufügen wären, was für gewöhnlich in geringeren Entwicklungsanforderungen und schnelleren Ladezeiten resultiert.
Aktualisiert die DOM asynchron
AngularJS
Backbone JS
Modelländerungen resultieren nicht unmittelbar in View-Updates, sondern werden gruppiert und gemeinsam angewandt. Dies kann deutlich performanter sein als sofortige View-Updates.
Ermöglicht den Gebrauch von Bibliotheken wie jQuery oder Deferred um Promises zu unterstützen. Promises ist eine beliebte Alternative zu Callbacks beim Umgang mit Serverantworten.

Welches sind die besten MV* Frameworks?

Zeige alle
Die Seite ist nur auf Deutsch verfügbar.