Ich benutze JavaScript und jQuery schon eine ganze Weile und möchte meine Fähigkeiten weiter ausbauen. Während meiner Suche bin ich auf zwei populäre Namen gestoßen: Angular
und Backbone
und beim Lesen habe ich eine gemeinsame Zeile gefunden in beiden, die irgendwie auch ihre USP zu sein scheint, dh
It is designed for developing single-page web applications
Das macht meine Verwirrung.
Was kann ich mit JS oder jQuery nicht tun und ich würde diese benötigen?
Ich habe eine Webanwendung auf einer einzelnen Seite erstellt, auf der Benutzer CRUD-Vorgänge auf einer einzelnen Seite durch asynchrone Aufrufe durchführen können. Warum also so wichtig für diese anderen Bibliotheken?
Und als Webentwickler auf mittlerer Ebene, der gute Hände auf JS hat, ist es der richtige Weg, um zu diesen beiden zu gelangen, oder hier ist etwas anderes, vor dem ich nachsehen sollte?
Bitte helfen?
Struktur.
In einem laufenden Projekt, das vor etwa 4 Jahren begann, haben wir das Frontend mit jQuery erstellt. Wir waren in der Lage, so ziemlich alles zu tun, was wir brauchten, um mehrere einseitige Anwendungen zu erstellen, die ziemlich funktional waren.
Als das Projekt fortschreitet und die Codebasis wächst, haben wir einige große Probleme mit der Wartbarkeit des Codes bekommen. Wir hatten hunderte oder tausende von Zeilen JavaScript-Code pro Seite in einem Gewirr, das fast unmöglich zu navigieren war. Dies hätte vermieden werden können, wenn wir natürlich vorsichtiger wären, aber zu der Zeit, als wir uns darauf konzentrierten, sicherzustellen, dass die Back-End-Architektur robust war.
Vor vielen Jahren hat die Community gelernt, dass Code Struktur braucht, um wartbar zu sein. Wir entwickelten MVC-Muster, Multi-Tier-Anwendungen usw. Aber JavaScript war nie ein großer Player in diesem Bereich und wir haben es weitgehend ignoriert.
In den letzten sechs Monaten haben wir Angular in das Projekt eingeführt und begonnen, etwas von der Unordnung im Projekt zu entfernen. Die Ergebnisse sind bemerkenswert. Der Code ist nicht nur einfacher und einfacher zu erstellen, die Struktur erleichtert die Implementierung von Tests, die Wartung ist einfacher und im Allgemeinen eine enorme Verbesserung gegenüber dem, was wir vorher hatten. Wir verwenden immer noch jQuery, aber jetzt sind wir durch den Mangel an Struktur verbrannt und wissen ein oder zwei Dinge über die Architektur einer JavaScript-Anwendung. Angular und seine Ähnlichen liefern Ihnen die Werkzeuge, um eine gute Anwendung zu entwerfen.
Wenn Sie größere Webanwendungen erstellen, sollten Sie Backbone, Angular oder Meteor ausprobieren. jQuery unterstützt nette Tricks, aber es hilft Ihnen nicht, Ihren Code in einer wartbaren Weise zu strukturieren. Größere Web-Apps, die auf jQuery aufbauen, benötigen eine eigene Vision, wie der Code in eigene Verantwortungsbereiche aufgeteilt werden kann. Die anderen Frameworks geben mehr Unterstützung.
Ich würde vorschlagen, mindestens eine der Bibliotheken auszuprobieren. Vielleicht werden Sie sie schließlich nicht verwenden, aber es wird davon profitieren, wie Sie in jQuery arbeiten.
Nun, es gibt Tage, an denen es bei Angular.js und vor allem bei SPAs (Single Page Applications) einen großen Hype gab. Nun, um ehrlich zu sein, hatte ich die gleiche Frage in meinem Kopf vor ungefähr einem Monat, als mein Team sich entschied, von Jquery zu Angular zu wechseln.
Wenn es um Jquery geht, ist eines der ersten Dinge, die uns in den Sinn kommen, die DOM-Manipulation. Bei der Verwendung von Jquery denken wir immer daran, das DOM zu manipulieren. Elemente ein- / ausblenden, Elemente animieren, Daten von Tags abrufen, die Sie benennen. Aber Angular bietet etwas mehr als das. Es bietet Ihnen eine Architektur, eine Möglichkeit, Ihre Anwendungen am Frontend zu strukturieren.
Also, wann immer Sie sich für Angular.js entscheiden, ändern Sie die Art, wie Sie über die Erstellung von Web-Anwendungen denken (und glauben Sie mir, es ist es wert). Der Großteil der Angular-Struktur verwendet das Konzept der Dependency Injection , mit der Sie Ihren Code auf einfache Weise verwalten können.
Backbone ist nur eine Bibliothek, während Angular.js ein vollständiges Framework zum Erstellen und Verwalten von Single Page Applications
istWenn wir darüber sprechen, dass Angular.js beim Erstellen großer skalierbarer Apps verwendet werden soll, ist das wahr. In meinem Fall ist das Team, mit dem ich arbeite, voller JQuery Ninjas. Wir haben in den letzten 3 Jahren eine großartige App erstellt und glauben mir, dass es für uns schwierig wurde, tausende Zeilen von Jquery zu warten und zu debuggen. Dies ist der Hauptgrund, warum wir beschlossen haben, diese App in Angular zu überarbeiten.
Bitte sehen Sie einige dieser nützlichen Links. Sie werden eine bessere Idee bekommen.
Tags und Links javascript angularjs jquery backbone.js