Чим AngularJS відрізняється від jQuery


388

Я знаю лише одну бібліотеку js, і це jQuery .
Але інші мої кодери в групі змінюють AngularJS як свою бібліотеку за замовчуванням у новому проекті.

Я нічого не знаю про це. Чим він відрізняється від jQuery?
У мене вже є набір функцій, виконаних для подібних завдань у jQuery. Чи можу я все-таки використовувати матеріали jQuery за допомогою AngularJS?

Відповіді:


414
  1. У той час як Angular 1 був рамкою, Angular 2 - це платформа . ( ref )

Розробникам Angular2 надає деякі функції, крім показу даних на екрані. Наприклад, використання інструменту angular2 cli може допомогти вам «попередньо скласти» свій код і генерувати необхідний код Javascript ( струшування дерева ), щоб зменшити розмір завантаження до 35Kish.

  1. Емульована тінь DOM Angular2 ( ref )

Це відкриває двері для серверного рендерінгу, який може вирішувати проблеми SEO та працювати з Nativescript тощо, які не працюють у браузерах.

AngularJS - це рамка . Він має такі особливості

  1. Двостороння прив'язка даних
  2. MVW-модель (MVC-ish)
  3. Шаблон
  4. Спеціальна директива (компоненти для багаторазового використання, спеціальна розмітка)
  5. Відпочинок
  6. Глибоке посилання (налаштування посилання на будь-яку динамічну сторінку)
  7. Перевірка форми
  8. Зв'язок із сервером
  9. Локалізація
  10. Ін'єкційна залежність
  11. Повне середовище тестування (обидва пристрої, e2e)

перевірити цю презентацію та це чудове вступ

Не забудьте прочитати офіційний посібник для розробників

Або дізнайтеся це з цих дивовижних відеоуроків

Якщо ви хочете переглянути більше відео з підручника, ознайомтеся з цією публікацією, Збірник кращих навчальних посібників із програми AngularJS 60+ .

Ви можете використовувати jQuery з AngularJS без жодних проблем.

Насправді AngularJS використовує в ньому jQuery lite, який є чудовим інструментом.

З FAQ

Чи користується Angular бібліотекою jQuery?

Так, Angular може використовувати jQuery, якщо він присутній у вашій програмі під час завантаження програми. Якщо jQuery відсутній у вашому шляху сценарію, Angular повертається до власної реалізації підмножини jQuery, яку ми називаємо jQLite.

Однак не намагайтеся використовувати jQuery для зміни DOM в контролерах AngularJS, робіть це у своїх директивах.

Оновлення:

Angular2 відпускається. Ось чудовий список ресурсів для початківців


8
Чи потрібно мені розробити повну програму в Angular js чи я можу використовувати це на кількох сторінках і в декількох апліках, я використовую простий jquery
Mirage

8
+1 Відмінна відповідь. Я б сказав, що Angular наближається до моделі MVVM.
GFoley83

8
Я впевнений , що Кутовий є MVW
iConnor

2
Кілька років він був близький до MVC. Але тепер переадресування факторів та покращення api - це ближче до MVVM. У діапазоні $ Angular працює як VM (переглянути модель).
Непереможний

14
Для будь-яких майбутніх людей, які цікавляться (як я), MVW == Модель-Погляд-Що б там не було , як у " m odel- v iew- w ненависник - працює для тебе" . Іншими словами, MV * .
Девід Фрай

40

Я хочу додати щось стосовно різниці AngularJS з jQuery з точки зору розробника.

У AngularJS ви повинні мати дуже структурований погляд і підхід до того, що ви хочете досягти. Навряд чи слід за лінійною схемою виконувати завдання, але, швидше, обмін між різними об'єктами піклується про запити та дії, які, таким чином, необхідні, оскільки кутова є основою MVC . Він також вимагає принаймні загального креслення завершеної програми, оскільки кодування багато в чому залежить від того, як ви хочете завершити взаємодії.

jQuery - це як вільна поезія, ви пишете рядки і зберігаєте певні стосунки та імпульс, відповідний для того, щоб ваше завдання було виконане.

Хоча в Angular JS слід дотримуватися деяких правил, а також підтримувати імпульс і належні відносини, можливо, це більше схоже на класичний спецерійський сонник (відомий поет-класик), вірш якого є структурним і пов'язаний з багатьма правилами.

У порівнянні з AngularJS, jQuery більше схожий на колекцію кодів та функцій (що, як уже було сказано, чудово підходить для маніпуляцій з DOM та досягнення швидких ефектів), тоді як AngularJS - це реальна основа, яка дає розробнику можливість будувати корпоративну мережу -застосування з великою кількістю прив'язки даних та обміну в межах чудово організованої маршрутизації та управління.

Крім того, AngularJS не має залежності від jQuery для виконання свого завдання. Він має дві дуже чудові функції, які в жодному сенсі не знайдені в jQuery:

1- Кутовий JS навчає, як КОДУВАТИ та досягати мети, а не просто досягати мети будь-якими способами. Варто зазначити, що AngularJS повністю використовує серцевину і серце Javascripts і відкриває вам шлях до включення у свій додаток таких методів, як DI (залежність-ін'єкція). Для роботи з angularJS слід (або обов'язково) вивчити більш підвищені методи кодування за допомогою Javascript.

2- Angular JS повністю незалежний для управління директивами та структури вашого додатка; тоді ви можете просто стверджувати, що jQuery може зробити те саме (незалежність), але, дійсно, AngularJS, як уже кілька разів згадувалося у вищезазначених рядках, має незалежність найкращим чином структурно на основі MVC.

Останнє зауваження полягає в тому, що війни з Іменами не існує, оскільки бути необ’єктивним або суб'єктивним набагато заважає. Доведено масштабність та величину jQuery, але їх використання та обмеження (будь-якої рамки чи програмного забезпечення) викликають дискусію та подібні дискусії навколо.

Оновлення:

Використання AngularJS є вирішальним, оскільки це дорого з точки зору реалізації, але створює потужну базу для подальшого розширення, перетворення та обслуговування програми. AngularJS призначений для Нового світу Інтернету. Він орієнтований на створення додатків, які характеризуються найменшим споживанням ресурсів (завантаження лише необхідних ресурсів з сервера), швидким часом відгуку та високим ступенем ремонтоздатності та розширюваності, що обертаються навколо структурованої системи.


"Щоб працювати з angularJS, ви повинні (або повинні) вивчити більш підвищені методи кодування за допомогою Javascript" - будь ласка, дайте мені приклади того, що ви маєте на увазі, що це підвищені методи?
анте

@MostafaTalebi, я просто жартував, але насправді не зрозумів, що частина "JavaScript - це більше концепція ??" що це означає?? ви могли б пояснити більше? Е, чи все-таки ми контактуємо ??
azerafati

Я маю на увазі це сценарій :)))
Мостафа Талебі

Я змішав одне! Наприклад, ми використовуємо php для серверної сторони, і ми приймаємо нашу основу на основі концепції MVC, а в шаблоні, який ми використовуємо JavaScript, ми також використовуємо Angular js, тому тут кутовий js MVC марний, чи не так?
Фархад

28

AngularJS: AngularJS призначений для розробки важких веб-додатків. AngularJS може використовувати jQuery, якщо він присутній у веб-додатку під час завантаження програми. Якщо його немає у сценарії, то AngularJS повертається до власної реалізації підмножини jQuery.

JQuery: jQuery - це невелика, швидка та багатофункціональна бібліотека JavaScript. Такі речі, як обхід та документування HTML-документів, обробка подій, анімація та Ajax значно спрощуються. jQuery спрощує багато складних речей з JavaScript, наприклад, дзвінки AJAX та маніпуляції з DOM.

Детальніше читайте тут: angularjs-vs-jquery


20

Я думаю, що це дуже гарна діаграма, яка коротко описує відмінності. Швидкий погляд на це показує більшість відмінностей.

введіть тут опис зображення

Хочеться додати одне, що AngularJS можна зробити так, щоб він слідував шаблону дизайну MVVM, тоді як jQuery не дотримується жодного зі стандартних об'єктно-орієнтованих шаблонів.


12

Вони працюють на різних рівнях.

Найпростіший спосіб переглянути різницю, з точки зору початківця, полягає в тому, що jQuery - це по суті абстрактний JavaScript, тому спосіб, який ми розробляємо сторінку для JavaScript, майже так, як ми це зробимо для jQuery . Почніть з DOM, а потім побудуйте шар поведінки поверх цього. Не так з Angular.Js . Процес дійсно починається з нуля, тому кінцевим результатом є бажаний вигляд.

За допомогою jQuery ви здійснюєте маніпуляції з домом , за допомогою Angular.Js створюєте цілі веб-додатки.


jQuery був побудований для того, щоб вилучити різні ідіосинкратії браузера та працювати з DOM без необхідності додавати чеки IE6 тощо. З часом він розробив приємний, надійний API, який дозволив нам робити багато речей, але, по суті, він призначений для роботи з DOM, пошуку елементів, зміни інтерфейсу тощо. Подумайте про це як про роботу безпосередньо з гайками та болтами.

Angular.Js був побудований як шар поверх jQuery , щоб додати концепції MVC до інженерної роботи. Замість того, щоб надавати API для роботи з DOM, Angular.Js надає прив'язку даних, шаблонів, користувацькі компоненти (подібні до інтерфейсу jQuery , але декларативні замість запуску через JS) та багато іншого. Подумайте про це як про роботу на більш високому рівні, із компонентами, які ви можете підключити, а не безпосередньо на гайках та болтах.

Крім того , Angular.Js надає структури та концепції, які застосовуються до різних проектів, наприклад контролерів, служб та директив. Сам jQuery можна використовувати декількома (gazillion) способами зробити те саме. На щастя, це набагато менше з Angular.Js , що полегшує потрапляння та виведення проектів. Він пропонує розумний спосіб для кількох людей внести свій внесок у один і той же проект, не потребуючи повторного вивчення системи з нуля.


Коротке порівняння може бути таким:

jQuery

  • Може бути легко використаний тими, хто має належні знання про CSS-селектори
  • Це бібліотека, яка використовується для маніпуляцій DOM
  • Не має нічого спільного з моделями
  • Легко маніпулюйте вмістом веб-сторінки
  • Застосовуйте стилі, щоб зробити інтерфейс більш привабливим
  • Легкий обхід DOM
  • Ефекти та анімація
  • Прості дзвінки AJAX та
  • Корисність утиліт
  • не мають функції двосторонньої прив'язки
  • стає складним і важким для обслуговування, коли розмір проекту збільшується
  • Іноді вам доводиться писати більше коду, щоб досягти тієї ж функціональності, як у Angular.Js

Кутовий.Js

  • Це рамка MVVM
  • Використовується для створення SPA (додатків на одній сторінці)
  • Він має ключові особливості, такі як маршрутизація, директиви, двостороння прив'язка даних, моделі, введення залежності, тести одиниць тощо
  • є модульним
  • Підтримка, коли розмір проекту збільшується
  • швидкий
  • Двостороння зв'язування даних Шаблон, заснований на REST MVC
  • Глибоке пов'язування
  • Шаблон
  • Перевірка форми вбудованої форми
  • Ін'єкційна залежність
  • Локалізація
  • Повне середовище для тестування
  • Зв'язок із сервером

І набагато більше

введіть тут опис зображення

Подумайте, це допомагає.

Більше можна знайти -


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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.