Unterschied zwischen jQuery vs. AngularJS vs. Node.js [geschlossen]


106

Ich fange gerade mit der Webentwicklung an und weiß bisher:

HTML - Layout der Website

CSS - lass es hübsch aussehen

JavaScript - Funktionalität

Was ist dann jQuery , AngularJS und Node.js ?

Nach einer schnellen Suche stellte ich fest, dass jQuery eine "JavaScript-Bibliothek" ist, AngularJS ein "JavaScript-basiertes Open-Source-Front-End-Webanwendungsframework" und Node.js eine "JavaScript-Laufzeitumgebung".

Sie scheinen alle mit JavaScript verwandt zu sein. Sind sie also neue Sprachen? Was bedeutet "Framework / Bibliothek"?

Eine einfache Antwort wäre willkommen. (Ich fange gerade mit der Webprogrammierung an, bin aber mit der Programmierung vertraut).


2
Eine "Bibliothek" ist im Grunde nur eine Sammlung nützlicher Funktionen, die jemand anderes für Sie geschrieben und getestet hat - jQuery ist eine Sammlung von JavaScript-Funktionen. Ein "Framework" ist eine Art Abstraktion, in der allgemeiner Anwendungsstrukturcode für Sie geschrieben wurde, und Sie können Teile davon entsprechend den Anforderungen Ihrer spezifischen App überschreiben. NodeJS ist ein Tool, mit dem Sie JavaScript an einem anderen Ort als im Browser ausführen können (häufig auf einem Webserver, also anstelle von Java oder DotNET oder PHP oder was auch immer).
nnnnnn

3
Es wird dir gut gehen. Du weißt, warum? Weil Sie Englisch sprechen. Es gibt schon eine Menge Sachen für dich da draußen. Sie müssen sich nur Zeit nehmen und es lernen. In meinem Land ist Englisch ein großes Problem. Ich kenne viele Leute, die Schwierigkeiten haben, Programmieren zu lernen (viele haben aufgegeben und sind zu anderen Jobs gewechselt), nur weil dort Englisch nicht gut ist. Trotzdem wird es Ihnen, wie gesagt, viel Zeit kosten.
Vothaison

Siehe auch diese Frage .
nnnnnn

Antworten:


202

jQuery ist eine Bibliothek (clientseitig)

jQuery ist eine schnelle, kleine, leichte, weniger schreibende, mehr tunde und funktionsreiche JavaScript-Bibliothek.

Mit einer benutzerfreundlichen API, die in einer Vielzahl von Browsern funktioniert, werden Dinge wie das Durchlaufen und Bearbeiten von HTML-Dokumenten, die Ereignisbehandlung, die Animation und Ajax erheblich vereinfacht.

AngularJS ist ein MVC-Framework (clientseitig)

AngularJS ist ein clientseitiges JavaScript-MVC-Framework zur Entwicklung einer dynamischen Webanwendung.

Sie können HTML als Vorlagensprache verwenden und die HTML-Syntax erweitern, um die Komponenten Ihrer Anwendung klar und prägnant auszudrücken. Die Datenbindung und die Abhängigkeitsinjektion von AngularJS eliminieren einen Großteil des Codes, den Sie sonst schreiben müssten. Und alles geschieht im Browser, was ihn zu einem idealen Partner für jede Servertechnologie macht. AngularJS wurde ursprünglich als Projekt in Google gestartet, jetzt ist es ein Open Source-Framework.

Node.js ist eine Plattform- und Laufzeitumgebung (serverseitig).

Node.js ist eine plattformübergreifende Open Source-Laufzeitumgebung für die Entwicklung von serverseitigen und Netzwerkanwendungen, die auf der JavaScript Engine (V8 Engine) von Google Chrome basieren. Node.js-Anwendungen sind in JavaScript geschrieben und können innerhalb der Node.js-Laufzeit unter OS X, Microsoft Windows und Linux ausgeführt werden.

Node.js bietet auch eine umfangreiche Bibliothek verschiedener JavaScript-Module, die die Entwicklung von Webanwendungen mit Node.js erheblich vereinfacht. Node.js verwendet ein ereignisgesteuertes, nicht blockierendes E / A-Modell, das es leicht und effizient macht und sich perfekt für datenintensive Echtzeitanwendungen eignet, die auf verteilten Geräten ausgeführt werden.

Bibliothek vs. Framework

Der Hauptunterschied zwischen einer Bibliothek und einem Framework ist „Inversion of Control“. Wenn Sie eine Methode aus einer Bibliothek aufrufen, haben Sie die Kontrolle. Bei einem Framework ist die Steuerung jedoch umgekehrt: Das Framework ruft Sie an.

Geben Sie hier die Bildbeschreibung ein

Bibliothek

Eine Sammlung von Funktionen, die beim Schreiben von Webanwendungen hilfreich sind. Ihr Code ist verantwortlich und ruft die Bibliothek auf, wenn er dies für richtig hält. ZB jQuery.

Rahmen

Eine bestimmte Implementierung einer Webanwendung, bei der Ihr Code die Details ausfüllt. Das Framework ist verantwortlich und ruft Ihren Code auf, wenn es etwas Anwendungsspezifisches benötigt. ZB AngularJS, Durandal , Ember.js usw.


27

In einfachen Worten,

  • jQuery - ist eine Sammlung von JavaScript-Funktionen zum Bearbeiten von HTML und CSS
  • AngularJS - ist ein JavaScript-Framework, mit dem Sie HTML und CSS organisieren können
  • Node.js- ist eine JavaScript-Laufzeit ... eine Art Browser auf Ihrem Server oder lokalen Computer, aber ohne die gesamte Browser-Rendering-Engine und Extras. Es ist nur eine Laufzeit

Der Hauptunterschied zwischen Bibliothek und Framework in einfachen Worten:
Framework legt bestimmte Architekturen fest und erwartet, dass die Anwendung ihren Erwartungen entspricht.
Bibliothek ist eine Sammlung von Bausteinen auf niedriger Ebene, die häufig detaillierte Funktionen zur Lösung sehr spezifischer Probleme bereitstellen (z. B. jquery.post (). Funktion)*


17

jQuery

jQuery ist eine Bibliothek, die viele Dinge für Sie erledigt. Es enthält viele praktische, häufig verwendete Funktionen, sodass Sie diesen Code nicht selbst schreiben müssen. Es ist eine Art Unterschied zwischen einem Zimmermann in der Steinzeit oder einer Reihe von Elektrowerkzeugen.

AngularJS

AngularJS ist ein Framework zum Erstellen von grafischen Front-End-Benutzeroberflächen (GUIs) für interaktive Websites und Webanwendungen. Es bildet eine leistungsstarke Kombination, wenn es zusammen mit Node.js verwendet wird

Node.js

Node ist ein Framework zum Erstellen von Back-End-Webdiensten wie API REST Endpunkten, die Daten im Hintergrund für Sie abrufen. Sie können Schaltflächen und GUI-Elemente mit AngularJS an diese Endpunkte anschließen, um umfangreiche, datengesteuerte Webanwendungen und Webberichte zu erstellen. Da diese Dienste REST-fähig sind, warten sie, bis das Front-End ihnen eine Anforderung sendet (der Benutzer klickt auf eine Schaltfläche), und sie führen eine Datenbankabfrage aus oder lesen eine Datei und spucken einige Daten zurück, die die Webanwendung dem Benutzer dann anzeigen kann.

Frameworks im Allgemeinen

Frameworks in der früheren Schreiner-Analogie sind wie die Beauftragung eines Teams professioneller Bauherren, die die Arbeit für Sie erledigen. Sie beschreiben den Job ausreichend detailliert und sie übernehmen ihn und erledigen ihn tatsächlich. Auf diese Weise müssen Sie die Auftragsspezifikationen in der richtigen Sprache erstellen, damit das Team der Bauherren sie versteht, anstatt den Auftrag selbst zu erledigen.

AngularJS wäre wie das Innendesign-Team zusammen mit Elektro, und Node.js wäre alles andere. Vereinfacht? Vielleicht. Aber Sie haben um eine einfache Erklärung gebeten.

Sie können sich AngularJS und Node.js also als Gegensätze vorstellen, aber sie können zusammen in derselben Anwendung oder demselben Projekt verwendet werden. Sie erfüllen unterschiedliche Zwecke, verwenden jedoch beide JavaScript (und in gewissem Umfang jQuery), um dies zu tun.


7
  • Framework : Hier wird eine bestimmte Struktur beschrieben, wie Sie Ihren Code präsentieren sollten. Ähnlich wie eine Code-Vorlage, zusammen mit einigen Helfern, Konstruktoren usw., um ein bestimmtes Problem zu lösen / zu vereinfachen oder Ihre Architektur in "Ordnung" zu bringen. Beispiele: Backbone.js , RequireJS, Socket.IO . Ein Framework kapselt allgemeine Anwendungsfunktionen, sodass sich der Entwickler auf die Teile konzentrieren kann, die für seine Anwendung eindeutig sind.

  • Bibliothek : Ist ein komplettes Toolkit, das verschiedene Ebenen wie Browser, DOM-Modelle usw. stark abstrahiert. Auch als gutes Toolkit bietet es viele Tools und nützliche Dinge zum Arbeiten, was im Allgemeinen Ihre Codierungserfahrung vereinfacht. Beispiele sind jQuery und MooTools .

Weitere Informationen finden Sie hier .


"Bibliothek: Ist ein ganzes Toolkit" - Es wird darauf hingewiesen, dass es sich um ein sehr kleines Toolkit handeln kann, wenn es beispielsweise nur um Datums- / Zeitdaten geht.
nnnnnn

7

Hier sind die Gründe, warum sie von Tag zu Tag beliebter werden:

jQuery

  • JQuery-Codes sind relativ kürzer. Manchmal entsprechen nur fünf Zeilen jQuery-Code 25 Zeilen herkömmlichem JavaScript-Code (z. B. Laden einer Datendatei mit AJAX). Dies bedeutet weniger Code und viel kleinere Dateien.
  • Große Bibliothek: Mit jQuery können Sie im Vergleich zu anderen JavaScript-Bibliotheken eine Vielzahl von Funktionen ausführen.
  • Super einfaches Arbeiten mit Ajax: Mit jQuery können Sie Ajax-Vorlagen ganz einfach entwickeln. Ajax ermöglicht eine schlankere Oberfläche, in der Aktionen auf Seiten ausgeführt werden können, ohne dass die gesamte Seite neu geladen werden muss.

AngularJS

  • Zwei-Wege-Datenbindung: Während Sie in jQuery ein einfaches Zwei-Wege-Datenbindungsereignis schreiben können, bieten JavaScript-MVC-Bibliotheken eine deklarativere (mithilfe von HTML) Möglichkeit, Modelle mit Ihrer Ansicht zu verbinden.
  • Ideal für SPA ( Single-Page-Anwendungen ): Bibliotheken wie AngularJS, Aurelia, Ember.js und Meteor bieten Ihnen die gesamte Installation, anstatt alles in jQuery zu schreiben

Node.js

  • Es ist schnell: Neben der blitzschnellen Ausführung von JavaScript ist die Ereignisschleife die wahre Magie hinter Node.js. Die Ereignisschleife ist ein einzelner Thread, der alle E / A-Operationen asynchron ausführt. Traditionell werden E / A-Vorgänge entweder synchron (Blockieren) oder asynchron ausgeführt, indem parallele Threads erzeugt werden, um die Arbeit auszuführen.
  • Echtzeit leicht gemacht: Wenn sich Node.js bei vielen gleichzeitigen Verbindungen auszeichnet, ist es sinnvoll, dass es sich bei Echtzeit-Webanwendungen für mehrere Benutzer wie Chat und Spiele auszeichnet. Die Ereignisschleife von Node.js berücksichtigt die Mehrbenutzeranforderungen.

2
"5 Zeilen jQuery-Code entsprechen 25 Zeilen herkömmlichem JavaScript-Code" - Je nachdem, was Sie tun möchten. Bei einigen Aufgaben gibt es nur minimale Unterschiede, bei anderen gibt es große Unterschiede. "Dies bedeutet kleinere Dateien und ein schnelleres Laden von Webseiten." - Abgesehen davon, dass der Code, den jQuery Sie vor dem Schreiben für sich selbst bewahrt hat, in der jQuery-Datei enthalten ist, die ebenfalls in den Browser heruntergeladen werden muss. Die Gesamtmenge an Code ist also wahrscheinlich größer.
nnnnnn

Diese Dateien werden geladen, während das Dokument geladen wird. da die beste Vorgehensweise darin besteht, js erst zu verwenden, wenn DOM geladen ist. Sie machen keinen Unterschied in der Ausführungsgeschwindigkeit Ihrer Klick- oder Hover-Ereignisse
ab29007

In Ihrer Antwort sagten Sie "schnelleres Laden". Das ist nicht wahr oder sicherlich nicht allgemein wahr. Dateien, die "während des Ladens des Dokuments" geladen werden, müssen noch heruntergeladen und (je nach Seite) heruntergeladen werden, bevor der Benutzer sinnvoll mit der Seite interagieren kann. (Hinweis: Ich sage nicht, dass jQuery überhaupt eine schlechte Sache ist, nur dass Ihre Beschreibung bestenfalls irreführend ist.)
nnnnnn

ok .. wenn du so denkst würde ich schnelleres Laden entfernen
ab29007

Kann ich JQuery und Javascript im selben Programm schreiben
K Split X

6

Sie verwenden HTML, CSS und JavaScript, um interaktive Websites zu erstellen.

jQuery ist ein in JavaScript geschriebenes Tool.

AngularJS ist ein in JavaScript geschriebenes Tool.

React ist ein in JavaScript geschriebenes Tool.

Mit diesen Tools können Sie die Interaktionen zwischen HTML, CSS und JavaScript nach eigenen Regeln verwalten. Sobald ein Tool wirklich groß wird, kann es je nach seinen Eigenschaften einen Namen wie "Bibliothek" oder "Framework" annehmen.

Wir führen JavaScript oft in einem Webbrowser aus. Aber seit einigen Jahren gibt es dieses Ding namens Node.js, mit dem wir JavaScript problemlos außerhalb des Browsers ausführen können. Ich stelle es mir gerne als "ein Programm vor, das JavaScript außerhalb des Browsers ausführt" (was bedeutet ... es gibt kein HTML oder CSS zum Anschauen).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.