Différence entre jQuery et AngularJS et Node.js [fermé]

106

Je ne fais que commencer le développement Web, et jusqu'à présent je sais:

HTML - mise en page du site Web

CSS - donnez-lui l'air joli

JavaScript - fonctionnalité

Alors, qu'est-ce que jQuery , AngularJS et Node.js ?

Après avoir fait une recherche rapide, j'ai trouvé que jQuery est une "bibliothèque JavaScript", AngularJS est un "framework d'application Web front-end open-source basé sur JavaScript" et Node.js est un "environnement d'exécution JavaScript".

Ils semblent tous liés à JavaScript, sont-ils donc de nouveaux langages? Que signifie «cadre / bibliothèque»?

Une réponse simple serait appréciée. (Je viens de commencer la programmation Web, mais je suis familier avec la programmation).

K Split X
la source
2
Une «bibliothèque» est essentiellement une collection de fonctions utiles que quelqu'un d'autre a écrites et testées pour vous - jQuery est une collection de fonctions JavaScript. Un «cadre» est une sorte d'abstraction dans laquelle un code de structure d'application commune a été écrit pour vous, et vous pouvez en remplacer des parties en fonction des besoins spécifiques de votre application. NodeJS est un outil qui vous permet d'exécuter JavaScript ailleurs que dans le navigateur (souvent sur un serveur Web, donc au lieu de Java ou DotNET ou PHP ou autre).
nnnnnn
3
Tu seras bien. Tu sais pourquoi? Parce que vous êtes anglophone. Il y a déjà des tonnes de choses pour vous. Vous avez juste besoin de prendre votre temps et de l'apprendre. Dans mon pays, l'anglais est un gros problème. Je connais beaucoup de gens qui ont du mal à apprendre la programmation (beaucoup ont abandonné et ont changé pour d'autres emplois) simplement parce que l'anglais n'est pas bon. Pourtant, comme je l'ai dit, cela vous prendra beaucoup de temps.
vothaison
Voir aussi cette question .
nnnnnn

Réponses:

202

jQuery est une bibliothèque (côté client)

jQuery est une bibliothèque JavaScript rapide, petite, légère, "écrire moins, faire plus" et riche en fonctionnalités.

Il simplifie considérablement la traversée et la manipulation de documents HTML, la gestion des événements, l'animation et Ajax grâce à une API facile à utiliser qui fonctionne sur une multitude de navigateurs.

AngularJS est un framework MVC (côté client)

AngularJS est un framework JavaScript MVC côté client pour développer une application Web dynamique.

Il vous permet d'utiliser HTML comme langage de modèle et vous permet d'étendre la syntaxe de HTML pour exprimer les composants de votre application de manière claire et succincte. La liaison de données et l'injection de dépendances d'AngularJS éliminent une grande partie du code que vous auriez autrement à écrire. Et tout se passe dans le navigateur, ce qui en fait le partenaire idéal de toute technologie de serveur. AngularJS a été initialement lancé en tant que projet dans Google, mais il s'agit maintenant d'un framework open source.

Node.js est une plateforme et un environnement d'exécution (côté serveur)

Node.js est un environnement d'exécution multiplateforme open source pour le développement d'applications côté serveur et réseau basées sur le moteur JavaScript de Google Chrome (moteur V8). Les applications Node.js sont écrites en JavaScript et peuvent être exécutées dans l'environnement d'exécution Node.js sous OS X, Microsoft Windows et Linux.

Node.js fournit également une riche bibliothèque de divers modules JavaScript qui simplifie dans une large mesure le développement d'applications Web utilisant Node.js. Node.js utilise un modèle d'E / S non bloquant et piloté par les événements qui le rend léger et efficace, parfait pour les applications en temps réel gourmandes en données qui s'exécutent sur des appareils distribués.

Bibliothèque vs Framework

La principale différence entre une bibliothèque et un framework est «l'inversion de contrôle». Lorsque vous appelez une méthode à partir d'une bibliothèque, vous avez le contrôle. Mais avec un framework, le contrôle est inversé: le framework vous appelle.

Entrez la description de l'image ici

Bibliothèque

Un ensemble de fonctions utiles lors de l'écriture d'applications Web. Votre code est en charge et il appelle dans la bibliothèque quand bon lui semble. Par exemple, jQuery.

Cadre

Une implémentation particulière d'une application Web, où votre code remplit les détails. Le framework est en charge et il appelle votre code lorsqu'il a besoin de quelque chose de spécifique à l'application. Par exemple, AngularJS, Durandal , Ember.js , etc.

Aruna
la source
27

En termes simples,

  • jQuery - est une collection de fonctions JavaScript pour manipuler HTML et CSS
  • AngularJS - est un framework JavaScript qui vous aide à organiser HTML et CSS
  • Node.js- est un runtime JavaScript ... un peu comme un navigateur sur votre serveur ou votre machine locale, mais sans tout le moteur de rendu du navigateur et les extras .. c'est juste un runtime

La principale différence entre bibliothèque et framework en termes simples:
Framework impose une certaine architecture et s'attend à ce que l'application suive ses attentes La
bibliothèque est un ensemble de blocs de construction de bas niveau fournissant souvent des fonctions granulaires visant à résoudre des problèmes très spécifiques (par exemple, jquery.post () fonction)*

Dmitry Matveev
la source
17

jQuery

jQuery est une bibliothèque qui fait beaucoup de choses pour vous. Il contient de nombreuses fonctions pratiques et couramment utilisées pour que vous n'ayez pas à écrire ce code vous-même. C'est en quelque sorte la différence entre être charpentier à l'âge de pierre ou avoir une gamme d'outils électriques à votre disposition.

AngularJS

AngularJS est un framework utilisé pour créer des interfaces utilisateur graphiques (GUI) frontales pour des sites Web interactifs et des applications Web. Il fait une combinaison puissante lorsqu'il est utilisé avec Node.js

Node.js

Node est un framework utilisé pour créer des services Web principaux , tels que des points de terminaison API REST qui extraient des données pour vous en arrière-plan. Vous pouvez connecter des boutons et des éléments d'interface graphique à ces points de terminaison à l'aide d'AngularJS pour créer des applications Web et des rapports Web riches et basés sur les données. Étant RESTful, ces services attendent jusqu'à ce que le frontal leur envoie une demande (l'utilisateur clique sur un bouton) et exécutent une requête de base de données ou lisent un fichier et crachent des données, que l'application Web peut ensuite afficher à l'utilisateur.

Cadres en général

Les cadres de la précédente analogie du menuisier sont comme engager une équipe de constructeurs professionnels pour faire le travail à votre place. Vous décrivez le travail avec suffisamment de détails, et ils prennent le relais et le font réellement. Ainsi, votre tâche se réduit à élaborer les spécifications du travail dans la langue correcte pour que l'équipe de constructeurs les comprenne, plutôt que de faire le travail vous-même.

AngularJS serait comme l'équipe de design d'intérieur avec électrique, et Node.js serait tout le reste. Trop simplifié? Peut être. Mais vous avez demandé une explication simple.

Vous pouvez donc considérer AngularJS et Node.js comme des opposés, mais ils peuvent être utilisés ensemble dans la même application ou le même projet. Ils remplissent des objectifs différents, mais ils utilisent tous les deux JavaScript (et jQuery dans une certaine mesure) pour le faire.

Tim
la source
7
  • Framework : cela décrit une structure donnée de la façon dont vous devez présenter votre code. Un peu comme un modèle de code, avec des aides, des constructeurs, etc. pour résoudre / simplifier un problème spécifique ou mettre votre architecture en «ordre». Exemples, Backbone.js , RequireJS, Socket.IO . Un cadre encapsule les fonctionnalités d'application communes, permettant au développeur de se concentrer sur les parties qui sont uniques à leur application.

  • Bibliothèque : est une boîte à outils complète qui résume fortement différentes couches, comme les navigateurs, les modèles DOM, etc. Également en tant que bonne boîte à outils, elle offre de nombreux outils et des choses intéressantes avec lesquelles travailler, ce qui en général simplifie votre expérience de codage. Des exemples sont jQuery et MooTools .

Regardez ici pour plus d'informations.

Yaser
la source
"Bibliothèque: est une boîte à outils entière" - Notant que cela pourrait être une très petite boîte à outils si son but est de traiter, par exemple, uniquement des données de date / heure.
nnnnnn
7

Voici pourquoi ils deviennent de plus en plus populaires de jour en jour:

jQuery

  • Les codes Jquery sont relativement plus courts. Parfois, seulement cinq lignes de code jQuery équivalent à 25 lignes de code JavaScript conventionnel (par exemple, charger un fichier de données avec AJAX). Cela signifie moins de code et des fichiers beaucoup plus petits.
  • Grande bibliothèque: jQuery vous permet d'exécuter des hordes de fonctions par rapport à d'autres bibliothèques JavaScript.
  • Travailler très facilement avec Ajax: jQuery vous permet de développer des modèles Ajax avec beaucoup de facilité, Ajax permet une interface plus élégante où les actions peuvent être effectuées sur les pages sans nécessiter le rechargement de la page entière.

AngularJS

  • Liaison de données bidirectionnelle: alors que vous pouvez écrire un simple événement de liaison de données bidirectionnelle dans jQuery, les bibliothèques JavaScript MVC fournissent un moyen plus déclaratif (en utilisant HTML) de connecter des modèles à votre vue.
  • Idéal pour SPA ( applications d'une seule page ): des bibliothèques telles que AngularJS, Aurelia, Ember.js et Meteor fournissent toute la plomberie pour vous au lieu de l'écrire entièrement dans jQuery

Node.js

  • C'est rapide: en plus d'une exécution JavaScript ultra-rapide, la vraie magie derrière Node.js est la boucle d'événements. La boucle d'événements est un thread unique qui effectue toutes les opérations d'E / S de manière asynchrone. Traditionnellement, les opérations d'E / S s'exécutent de manière synchrone (blocage) ou asynchrone en générant des threads parallèles pour effectuer le travail.
  • Temps réel simplifié: si Node.js excelle dans de nombreuses connexions simultanées, il est logique qu'il excelle dans les applications Web multi-utilisateurs en temps réel telles que le chat et les jeux. La boucle d'événements de Node.js prend en charge les exigences multi-utilisateurs.
ab29007
la source
2
"5 lignes de code jQuery équivalent à 25 lignes de code JavaScript conventionnel" - Selon ce que vous essayez de faire. Pour certaines tâches, il y a une différence minime, pour d'autres, il y a une grande différence. "Cela signifie des fichiers plus petits et un chargement plus rapide des pages Web." - Sauf que le code jQuery vous a sauvé d'écrire pour vous-même est tout contenu dans le fichier jQuery qui doit également être téléchargé dans le navigateur. Donc, la quantité totale de code est probablement plus.
nnnnnn
ces fichiers sont chargés pendant le chargement du document. car la meilleure pratique consiste à ne pas utiliser js tant que DOM n'est pas chargé. ils ne font
aucune
Dans votre réponse, vous avez dit "chargement plus rapide". Ce n'est pas vrai, ou certainement pas universellement vrai. Les fichiers chargés «pendant le chargement du document» doivent encore être téléchargés et (selon la page) doivent être téléchargés avant que l'utilisateur puisse interagir de manière significative avec la page. (Remarque: je ne dis pas que jQuery est une mauvaise chose du tout, simplement que votre description est au mieux trompeuse.)
nnnnnn
ok .. si vous le pensez, je supprimerais le chargement plus rapide
ab29007
Puis-je écrire JQuery et javascript dans le même programme
K Split X
6

Vous utilisez HTML, CSS et JavaScript pour créer des sites Web interactifs.

jQuery est un outil écrit en JavaScript.

AngularJS est un outil écrit en JavaScript.

React est un outil écrit en JavaScript.

Ces outils vous aident à gérer les interactions entre HTML, CSS et JavaScript selon leurs propres règles. Une fois qu'un outil devient vraiment volumineux, il peut prendre un nom comme «bibliothèque» ou «cadre» selon ses caractéristiques.

Nous exécutons souvent JavaScript dans un navigateur Web. Mais il y a quelques années, cette chose appelée Node.js est arrivée qui nous a permis d'exécuter facilement JavaScript en dehors du navigateur. J'aime le penser comme "un programme qui exécute JavaScript en dehors du navigateur" (ce qui signifie ... il n'y a pas de HTML ou de CSS à regarder).

thérobinkim
la source