En quoi AngularJS est différent de jQuery

388

Je ne connais qu'une seule bibliothèque js et c'est jQuery .
Mais mes autres codeurs du groupe changent AngularJS comme bibliothèque par défaut dans un nouveau projet.

Je n'en sais rien. En quoi est-il différent de jQuery?
J'ai déjà un ensemble de fonctions effectuées pour des tâches similaires dans jQuery. Puis-je encore utiliser des trucs jQuery avec AngularJS?

Mirage
la source

Réponses:

414
  1. Alors qu'Angular 1 était un framework, Angular 2 est une plateforme . ( ref )

Pour les développeurs, Angular2 fournit certaines fonctionnalités au-delà de l'affichage des données à l'écran. Par exemple, l'utilisation de l'outil angular2 cli peut vous aider à «précompiler» votre code et à générer le code javascript nécessaire ( arborescence ) pour réduire la taille du téléchargement à 35 kish.

  1. DOM Shadow émulé par Angular2. ( ref )

Cela ouvre une porte pour le rendu du serveur qui peut résoudre le problème de référencement et fonctionner avec Nativescript, etc. qui ne fonctionne pas sur les navigateurs.

AngularJS est un framework . Il a les caractéristiques suivantes

  1. Liaison de données bidirectionnelle
  2. Modèle MVW (MVC-ish)
  3. Modèle
  4. Directive personnalisée (composants réutilisables, balisage personnalisé)
  5. Compatible avec REST
  6. Deep Linking (créer un lien pour n'importe quelle page dynamique)
  7. Validation de formulaire
  8. Communication avec le serveur
  9. Localisation
  10. Injection de dépendance
  11. Environnement de test complet (les deux unités, e2e)

consultez cette présentation et cette excellente introduction

N'oubliez pas de lire le guide officiel du développeur

Ou apprenez-le grâce à ces super tutoriels vidéo

Si vous voulez regarder plus de vidéos de tutoriel, consultez cet article, Collection des meilleurs 60+ tutoriels AngularJS .

Vous pouvez utiliser jQuery avec AngularJS sans aucun problème.

En fait, AngularJS utilise jQuery lite, qui est un excellent outil.

De la FAQ

Angular utilise-t-il la bibliothèque jQuery?

Oui, Angular peut utiliser jQuery s'il est présent dans votre application lors du démarrage de l'application. Si jQuery n'est pas présent dans votre chemin de script, Angular revient à sa propre implémentation du sous-ensemble de jQuery que nous appelons jQLite.

Cependant, n'essayez pas d'utiliser jQuery pour modifier le DOM dans les contrôleurs AngularJS, faites-le dans vos directives.

Mise à jour:

Angular2 est sorti. Voici une grande liste de ressources pour les débutants

maxisam
la source
8
Dois-je développer l'application complète en angulaire js ou je peux l'utiliser sur quelques pages et sur quelques apges j'utilise jquery simple
Mirage
8
+1 Excellente réponse. Je dirais cependant que Angular se rapproche du modèle MVVM.
GFoley83
8
Je suis à peu près sûr que Angular est un MVW
iConnor
2
Pendant plusieurs années, il a été proche de MVC. Mais maintenant, en ce qui concerne la refactorisation et l'amélioration de l'API, il est plus proche de MVVM. Dans la portée $ angulaire, fonctionne comme une machine virtuelle (voir le modèle).
Invincible le
14
Pour tout avenir gens qui se demandent (comme moi), MVW == Model-View-Quelle que soit , comme dans " m odel- v iew- w e qui usine-for-you" . En d'autres termes, MV * .
David Frye
40

Je veux ajouter quelque chose concernant la différence AngularJS avec jQuery du point de vue d'un développeur.

Dans AngularJS, vous devez avoir une vue et une approche très structurées sur ce que vous voulez accomplir. Il ne suit presque pas de façon linéaire pour achever une tâche, mais plutôt, les échanges entre divers objets s'occupent des requêtes et des actions, ce qui est donc nécessaire car angulaire est un framework basé sur MVC . Cela nécessite également un plan au moins général de l'application finalisée, car le codage dépend beaucoup de la façon dont vous souhaitez que les interactions se terminent.

jQuery est comme une poésie gratuite , vous écrivez des lignes et gardez des relations et un élan appropriés pour que votre tâche soit accomplie.

Bien que, dans Angular JS, vous devriez suivre certaines règles tout en conservant l'élan et les relations appropriés, il s'agit peut-être plus d'un sonnet classique de Spencerian (un célèbre poète classique) dont le poème est structurel et lié à de nombreuses règles.

Comparé à AngularJS, jQuery ressemble plus à une collection de codes et de fonctions (qui, comme déjà mentionné, est idéal pour la manipulation DOM et la réalisation d'effets rapides), tandis que AngularJS est un véritable cadre qui donne au développeur la possibilité de construire un site Web d'entreprise -application avec beaucoup de liaison de données et d'échange au sein d'un routage et d'une gestion superbement organisés.

De plus, AngularJS ne dépend pas de jQuery pour terminer sa tâche. Il possède deux fonctionnalités très superbes que l'on ne trouve en aucun cas dans jQuery:

1- Angular JS vous apprend à coder et à atteindre un objectif, pas seulement à atteindre un objectif par tous les moyens. Il convient de mentionner que AngularJS utilise pleinement le cœur et le cœur des Javascripts et vous ouvre la voie à l'intégration dans votre application, des techniques telles que DI (injection de dépendance). Pour travailler avec angularJS, vous devez (ou devez) apprendre des techniques plus élevées de codage avec Javascript.

2- Angular JS est totalement indépendant pour gérer les directives et structurer votre application; vous pourriez alors simplement affirmer que jQuery peut faire la même chose (indépendance), mais, en effet, AngularJS, comme plusieurs fois mentionné dans les lignes ci-dessus, a une indépendance de la manière la plus excellente structurellement basée sur MVC possible.

Une dernière note est qu'il n'y a pas de guerre des noms, car il est très inquiétant d'être biaisé ou subjectif. L'ampleur et la grandeur de jQuery ont été prouvées, mais leurs utilisations et leurs limites (de tout cadre ou logiciel) sont les préoccupations de la discussion et des débats similaires.

Mise à jour:

L'utilisation d'AngularJS est décisive car elle est coûteuse en termes de mise en œuvre, mais constitue une base solide pour l'expansion, la transformation et la maintenance futures de l'application. AngularJS est pour le nouveau monde du Web. Il vise à créer des applications caractérisées par leur moindre consommation de ressources (chargement uniquement des ressources nécessaires à partir du serveur), un temps de réponse rapide et un degré élevé de maintenabilité et d'extensibilité enroulé autour d'un système structuré.

Mostafa Talebi
la source
"Pour travailler avec angularJS, vous devez (ou devez) apprendre plus de techniques élevées de codage avec Javascript" - veuillez me donner des exemples de ce que vous entendez par techniques élevées?
antew
@MostafaTalebi, je plaisantais, mais je n'ai pas vraiment compris cette partie "JavaScript est plus un concept ??" Qu'est-ce que ça veut dire?? pourriez-vous expliquer plus? ehh y a-t-il quand même que nous prenons contact ??
azerafati
Je veux dire que c'est un script :)))
Mostafa Talebi
J'ai mélangé une chose! par exemple, nous utilisons php pour le côté serveur et nous prenons notre framework basé sur le concept MVC et dans le modèle que nous utilisons javascript nous utilisons également Angular js donc ici angular js MVC est inutile, n'est-ce pas?
Farhad
28

AngularJS: AngularJS est destiné au développement d'applications Web lourdes. AngularJS peut utiliser jQuery s'il est présent dans l'application Web lors du démarrage de l'application. S'il n'est pas présent dans le chemin du script, AngularJS revient à sa propre implémentation du sous-ensemble de jQuery.

JQuery: jQuery est une petite bibliothèque JavaScript rapide et riche en fonctionnalités. Cela rend les choses comme la traversée et la manipulation de documents HTML, la gestion des événements, l'animation et Ajax beaucoup plus simples. jQuery simplifie beaucoup de choses compliquées de JavaScript, comme les appels AJAX et la manipulation DOM.

Lire plus de détails ici: angularjs-vs-jquery

kmario23
la source
20

Je pense que c'est un très bon tableau décrivant les différences de court. Un coup d'œil rapide montre la plupart des différences.

entrez la description de l'image ici

Une chose que j'aimerais ajouter est que, AngularJS peut être fait pour suivre le modèle de conception MVVM tandis que jQuery ne suit aucun des modèles orientés objet standard.

Pritam Banerjee
la source
12

Ils travaillent à différents niveaux.

Du point de vue du débutant , la façon la plus simple de voir la différence est que jQuery est essentiellement un résumé de JavaScript, donc la façon dont nous concevons une page pour JavaScript est à peu près la façon dont nous le ferons pour jQuery . Commencez avec le DOM puis créez une couche de comportement en plus de cela. Ce n'est pas le cas avec Angular.Js . Le processus commence vraiment à partir de zéro, donc le résultat final est la vue souhaitée.

Avec jQuery vous faites des manipulations dom, avec Angular.Js vous créez des applications web entières.


jQuery a été conçu pour faire abstraction des différentes idiosyncraties du navigateur et fonctionner avec le DOM sans avoir à ajouter de vérifications IE6, etc. Au fil du temps, il a développé une belle API robuste qui nous a permis de faire beaucoup de choses, mais à la base, il est destiné à gérer le DOM, à trouver des éléments, à changer l'interface utilisateur, etc. Considérez-le comme travaillant directement avec des écrous et des boulons.

Angular.Js a été construit en tant que couche au-dessus de jQuery , pour ajouter des concepts MVC à l'ingénierie frontale. Au lieu de vous donner des API pour travailler avec DOM, Angular.Js vous offre des composants personnalisés de liaison de données, de modèles (similaires à l' interface utilisateur jQuery , mais déclaratifs au lieu de déclencher via JS) et bien plus encore. Considérez-le comme travaillant à un niveau supérieur, avec des composants que vous pouvez accrocher ensemble, plutôt que directement au niveau des écrous et des boulons.

De plus , Angular.Js vous donne des structures et des concepts qui s'appliquent à divers projets, tels que les contrôleurs, les services et les directives. jQuery lui-même peut être utilisé de plusieurs manières (gazillions) pour faire la même chose. Heureusement, c'est beaucoup moins avec Angular.Js , ce qui facilite l'entrée et la sortie des projets. Il offre un moyen sain à plusieurs personnes de contribuer au même projet, sans avoir à réapprendre un système à partir de zéro.


Une brève comparaison peut être la suivante:

jQuery

  • Peut être facilement utilisé par ceux qui ont une bonne connaissance des sélecteurs CSS
  • C'est une bibliothèque utilisée pour les manipulations DOM
  • N'a rien à voir avec les modèles
  • Manipulez facilement le contenu d'une page Web
  • Appliquer des styles pour rendre l'interface utilisateur plus attrayante
  • Traversée DOM facile
  • Effets et animation
  • Simple pour passer des appels AJAX et
  • Facilité d'utilisation des utilitaires
  • n'ont pas de fonction de liaison bidirectionnelle
  • devient complexe et difficile à maintenir lorsque la taille d'un projet augmente
  • Parfois, vous devez écrire plus de code pour obtenir les mêmes fonctionnalités que dans Angular.Js

Angular.Js

  • C'est un framework MVVM
  • Utilisé pour créer des SPA (applications à page unique)
  • Il a des fonctionnalités clés comme le routage, les directives, la liaison de données bidirectionnelle, les modèles, l'injection de dépendances, les tests unitaires, etc.
  • est modulaire
  • Maintenable, lorsque la taille du projet augmente
  • est rapide
  • Liaison de données bidirectionnelle Modèle basé sur MVC compatible REST
  • Liens profonds
  • Templating
  • Validation du formulaire intégré
  • Injection de dépendance
  • Localisation
  • Environnement de test complet
  • Communication avec le serveur

Et beaucoup plus

entrez la description de l'image ici

Pensez que cela aide.

Plus peut être trouvé -

Abrar Jahin
la source
3

Jquery: -

jQuery is a lightweight and feature-rich JavaScript Library that helps web developers
by simplifying the usage of client-side scripting for web applications using JavaScript.
It extensively simplifies using JavaScript on a website and its lightweight as well as fast.

So, using jQuery, we can:

easily manipulate the contents of a webpage
apply styles to make UI more attractive
easy DOM traversal
effects and animation
simple to make AJAX calls and
utilities and much more 

AngularJS: -

AngularJS is a product by none other the Search Engine Giant Google and its an open source
MVC-based framework(considered to be the best and only next generation framework). AngularJS
is a great tool for building highly rich client-side web applications.

As being a framework, it dictates us to follow some rules and a structured approach. Its
not just a JavaScript library but a framework that is perfectly designed (framework tools
are designed to work together in a truly interconnected way).

In comparison of features jQuery Vs AngularJS, AngularJS simply offers more features:

Two-Way data binding
REST friendly
MVC-based Pattern
Deep Linking
Template
Form Validation
Dependency Injection
Localization
Full Testing Environment
Server Communication
Jamshaid Kamran
la source