Was ist ein JavaScript-Framework?

Ein clientseitiges JavaScript-Framework ist eine Sammlung von Komponenten und Bibliotheken (die größtenteils voneinander abhängig sind), um die Anforderungen einer einseitigen Webanwendung in Browser-Clients zu erfüllen.

Grundsätzlich erfüllt es die Anforderungen für das Routing zwischen HTML-Seiten, das Networking mit dem Back-End (http), die Interaktion mit / die einfache Auswahl des DOM und dessen dynamische Änderung. Nehmen wir das Beispiel des berühmten SPA-Frameworks Angular 1, so können wir die Merkmale eines Js-Frameworks wie folgt zusammenfassen:

  1. Routing für SPAs wie RouteProvider in Angularjs.
  2. Funktionen zum Abrufen und Senden von Daten oder XMLHttpRequest, z. B. $ resource service von Angularjs oder $ http.
  3. DOM verpackt oder hilft Ihnen, das DOM wie Angularjs-Direktiven zu erhalten oder zu manipulieren.
  4. Verwalten Sie Ihren Code wie Angularjs mit Services und Fabriken und fügen Sie ihnen dann Abhängigkeiten hinzu.
  5. Ein Standard-Datenfluss- oder Kontrollflussansatz wie AngularJS Scope Life Cycle.

    Für weitere Informationen lesen Sie auf Wikipedia über Javascript Frameworks.

A2A

Die vorherigen Antworten sind genau richtig.

Das Einzige, was ich verbessern kann, ist, dass es wirklich keinen Standardkörper gibt, der Software als Framework gegen eine Bibliothek stempelt. Jede Definition oder allgemeine Kategorie ergibt sich aus der Konvention.

Ich würde sagen, ein Framework ist eine Sammlung von Bibliotheken, die so unabhängig voneinander sind, dass Sie nicht das gesamte Framework laden müssen, nur die Teile, die Sie benötigen, plus ein oder zwei Kernteile.

Sie sehen heutzutage nur noch selten “reine” JavaScript-Jobs, ohne dass auch ein Framework angegeben ist.

Modelle in einem JS-Framework repräsentieren ähnlich wie ihre Server-Brüder die Daten Ihrer Anwendung. Diese Daten können über eine Persistenzmethode wie Ajax oder Websockets von Ihrem Server abgerufen und mit diesem synchronisiert werden. Oder es kann vollständig clientseitig vorhanden sein, entweder vergänglich und im Arbeitsspeicher vorhanden, oder es kann clientseitigen Mechanismen wie localStorage oder IndexedDB beibehalten werden.

Die meisten modernen Frameworks bieten die Möglichkeit, Modelle zu gruppieren, dh sie analog zu Zeilen in einer Tabelle anzuordnen und zu behandeln. Die Ansichten sind etwas amorpher – je nach Framework sind sie möglicherweise so einfach wie eine Menge von Vorlagen oder verfügen über die gesamte Logik, das Routing und die Datenbindung, die die Rolle des Controllers in einem anderen Framework spielen könnte.

Ein Framework ist etwas, aus dem Sie alles bauen können, was Sie wollen. Ein Framework enthält einige Regeln und Richtlinien. Die Verwendung dieser Regeln und Richtlinien macht das, was Sie erstellen möchten, fantastisch.

Eine Bibliothek hingegen bietet Ihnen keine Regeln. Sie können sie verwenden, wenn Sie sie möchten oder vollständig ignorieren, auch wenn Sie sie Ihrem Projekt hinzugefügt haben.

Wenn Sie jedoch ein Framework integriert haben, müssen Sie die Regeln und Richtlinien dieses Frameworks befolgen, um Ihre Anwendung zu erstellen. Wenn Sie dies nicht tun, wird dies als schlechte Praxis angesehen.

Sie können zum Beispiel eine Töpferscheibe verwenden, um Töpfe zu bauen. Die Töpferscheibe ist Ihr Rahmen, denn sie dreht sich nur. Wie Sie diese Drehung verwenden, um einen Topf zu machen, liegt bei Ihnen. Mit diesem Framework können Sie nur Töpfe, Teller, Tassen, Schalen oder Skulpturen bauen, die zylindrisch sind. Mit einer Töpferscheibe kann man kein Haus bauen. Wenn Sie ein Haus bauen möchten, müssen Sie ein anderes Framework verwenden. Wie ein Ziegelofen, um Ziegel aus Ton herzustellen und diese dann niederzulegen, um das Haus zu bauen.

Der Stuhl vor der Töpferscheibe kann als Bibliothek bezeichnet werden. Sie können stattdessen diesen Stuhl, einen anderen Stuhl oder einen Stein verwenden. Sie können stehen und Ihre Keramik bauen. Oder du könntest sitzen.

Beispiele für Javascript Frameworks: AngularJS, Backbone, React, Ember

Beispiele für Javascript-Bibliotheken: jQuery, Lodash, Underscore

Ich bin nicht sicher, ob ich Ihre Frage vollständig beantworten kann, aber ich werde es versuchen.
Nun, was bedeutet “Framework”? Framework ist eine Basis und etwas Grundlegendes. Wenn wir über Code-Frameworks sprechen, nehmen wir einige Tools für die Entwicklung an. Zum Beispiel jQuery. Wenn Sie jQuery in Ihr Projekt aufnehmen, können Sie die gesamte jQuery-Magie verwenden und müssen nicht alle DOM-Manipulationsfunktionen selbst schreiben.
JavaScript Framework – Tools, die Sie herunterladen und an Ihr Projekt anhängen können, um sie zu verwenden. JS Frameworks haben viel Zeit gespart, wenn Sie nicht Ihr ganzes Leben damit verbringen möchten, Frontends zu schreiben.

Vergleich von JavaScript-Frameworks

More Interesting

Wann wird in JavaScript eine undefinierte Variable in einem booleschen Vergleich als falsch ausgewertet und wann wird ein Fehler ausgegeben?

Was ist der beste Weg, um eine mehrsprachige Website zu erstellen, die mit Wikipedia vergleichbar ist?

Wie zeichne ich mit D3.JS ein Diagramm mit Daten aus einer MySQL-Datenbank? Dies ist mein erstes D3.JS-Projekt.

Was ist schneller, mehr Operatoren in einer Anweisung oder mehrere Anweisungen mit weniger Operatoren?

Wurde CoffeeScript erfunden, um Ruby-Programmierern dabei zu helfen, das schmutzige Gefühl zu überwinden, das sie bei der Arbeit mit JavaScript bekommen?

Wie unterschiedlich ist es, eine backbone.js-App im Vergleich zu einer Ajaxy Rails-App zu erstellen?

Wer sind die besten UI / UX-Entwickler in NYC?

Was passiert, wenn Google beim Besuch von Google eine verteilte Berechnung mithilfe von JavaScript im Browser eines Nutzers vornimmt?

Ist es besser, doppelte Anführungszeichen (") oder einfache Anführungszeichen (') zu verwenden, wenn Sie mit höheren Sprachen (Python, Javascript usw.) programmieren?

Warum hat JavaScript keine mehrzeiligen WYSIWYG-Zeichenfolgen?

Wie zeige ich ein bestimmtes Div nach einer Senden-Schaltfläche an? Ich habe JavaScript ausprobiert, aber es wird nur für einige Sekunden angezeigt. Wie kann ich das beheben?

Wie verstehe ich die Explosion der JavaScript-Frameworks? Soll ich sie alle lernen?

Welche Technologie hat eine bessere Zukunft, maschinelles Lernen oder Node.js?

Was ist eine Browser-Ereignisschleife?

Ist HTML5 ein großer Schritt in die falsche Richtung?