Как отличается AngularJS от jQuery

Я знаю только одну библиотеку js и jQuery.
Но мои другие кодеры в группе меняют AngularJS в качестве своей библиотеки по умолчанию в новом проекте.

Я ничего не знаю об этом. Как это отличается от jQuery?
У меня уже есть набор функций, выполняемых для подобных задач в jQuery. Могу ли я использовать jQuery с помощью AngularJS?

364
31 окт. '12 в 8:22
источник поделиться
6 ответов
  • Пока Angular 1 был каркасом, Angular 2 - платформа . (ref)

Для разработчиков Angular2 предоставляет некоторые функции, не отображающие данные на экране. Например, использование инструмента Angular2 cli поможет вам "предварительно скомпилировать" ваш код и сгенерировать необходимый код javascript (древовидное встряхивание) для сжатия размер загрузки до 35Kish.

  1. Angular2 emulated Shadow DOM. (ref)

Это открывает дверь для рендеринга сервера, которая может адресовать проблему SEO и работать с NativesScript и т.д., которые не работают в браузерах.

  • Официальный сайт документа

  • Дневной лейбл от ng-conf 2016

  • Ссылки ресурсов Оригинал: В принципе, jQuery - отличный инструмент для управления и контроля элементов DOM. Если вы сосредотачиваетесь только на элементах DOM и нет Data CRUD, например, на создании веб-сайта, а не на веб-приложении, jQuery является одним из лучших инструментов. (Вы также можете использовать AngularJS для этой цели.)

AngularJS является каркасом. Он имеет следующие функции.

  • Двусторонняя привязка данных
  • Шаблон MVW (MVC-ish)
  • Шаблон
  • Пользовательская директива (компоненты многократного использования, пользовательская разметка)
  • REST-дружественных
  • Deep Linking (настройка ссылки для любой динамической страницы)
  • Проверка формы
  • Связь с сервером
  • Локализация
  • Включение зависимостей
  • Полная тестовая среда (обе единицы, e2e)

проверьте эту презентацию и это отличное введение

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

Или узнайте об этом из этих удивительных видеоуроков

Если вы хотите посмотреть больше обучающего видео, посмотрите этот пост, Сборник лучших 60 + AngularJS-руководств.

Вы можете использовать jQuery с AngularJS без каких-либо проблем.

Фактически, AngularJS использует jQuery lite в нем, что является отличным инструментом.

От FAQ

Использует ли Angular библиотеку jQuery?

Да, Angular может использовать jQuery, если он присутствует в вашем приложении, когда приложение загружается. Если jQuery отсутствует в вашем script путь, Angular возвращается к собственной реализации подмножество jQuery, которое мы называем jQLite.

Однако не пытайтесь использовать jQuery для изменения DOM в контроллерах AngularJS, делайте это в своих директивах.

Update:

Angular2. Здесь - отличный список ресурсов для начинающих

402
31 окт. '12 в 8:33
источник

Я хочу добавить что-то относительно разницы AngularJS с jQuery с точки зрения разработчика.

В AngularJS у вас должно быть представление структурированное и подход к тому, что вы хотите выполнить. Он едва ли подходит для линейного способа для выполнения задачи, но обмены между различными объектами позаботятся о запросах и действиях, что необходимо тогда, когда angular является Основанная на MVC. Он также требует, по крайней мере, общей схемы завершенного приложения, поскольку кодирование во многом зависит от того, как вы хотите, чтобы взаимодействия были завершены.

jQuery похож на стильную свободную, вы пишете строки и сохраняете некоторые отношения и импульс, подходящие для выполнения вашей задачи.

Хотя, в angular JS, вы должны следовать некоторым правилам, а также сохранять импульс и соответствующие отношения, возможно, это больше похоже на классический спенсеровский сонет (известный классический поэт), стихотворение которого является структурным и связано со многими правилами.

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

Кроме того, AngularJS не имеет зависимости от jQuery для выполнения своей задачи. Он имеет две очень превосходные функции, которые не найдены в jQuery в любом смысле:

1 - angular JS учит вас, как КОДИРОВАТЬ и достигать цели, а не просто достигать цели любыми способами. Стоит упомянуть, что AngularJS полностью использует ядро ​​и сердце Javascripts и прокладывает путь для вас, чтобы включить в ваше приложение такие методы, как DI (зависимость-инъекция). Для работы с angularJS вы должны (или должны) изучить более высокие методы кодирования с помощью Javascript.

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

Последнее примечание состоит в том, что войны с Именами не существует, поскольку она мешает быть предвзятой или субъективной. Доказана величина и величие jQuery, но их использование и ограничения (любой структуры или программного обеспечения) являются предметом обсуждения и подобных дискуссий вокруг.

Update:

Использование AngularJS является решающим, поскольку оно является дорогостоящим с точки зрения реализации, но создает прочную основу для будущего расширения, преобразования и обслуживания приложения. AngularJS предназначен для нового мира в Интернете. Он ориентирован на создание приложений, которые характеризуются наименьшим потреблением ресурсов (загрузка только необходимых ресурсов с сервера), быстрое время отклика и высокая степень ремонтопригодности и расширяемости, обернутые вокруг структурированной системы.

38
14 июля '14 в 8:46
источник

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

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

Подробнее читайте здесь: angularjs-vs-jquery

25
01 дек. '14 в 10:38
источник

Я думаю, это - очень хорошая диаграмма, описывающая короткие различия. Быстрый взгляд на это показывает большую часть различий.

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

Одна вещь, которую я хотел бы добавить, заключается в том, что AngularJS можно выполнить, чтобы следовать шаблону дизайна MVVM, а jQuery не следует стандартных объектно-ориентированных шаблонов.

15
29 июня '16 в 23:23
источник

Они работают на разных уровнях.

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

С jQuery вы выполняете манипуляции с dom, используя Angular.Js вы создаете целые веб-приложения.


jQuery был создан, чтобы абстрагироваться от разных особенностей браузера и работать с DOM без необходимости добавлять проверки IE6 и т.д., Со временем он разработал хороший, надежный API, который позволил нам многое сделать, но в его основе он предназначен для работы с DOM, поиска элементов, изменения пользовательского интерфейса и т.д. Подумайте об этом как о работе с гайками и болтами.

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

Дополнительно, Angular.Js предоставляет вам структуры и концепции, которые применяются к различным проектам, таким как контроллеры, Услуги и Директивы. jQuery сам может использоваться несколькими способами (gazillion), чтобы сделать то же самое. К счастью, это меньше, чем Angular.Js, что облегчает доступ к проектам и их удаление. Он предлагает разумный способ для нескольких людей вносить свой вклад в один и тот же проект, не переучивая систему с нуля.


Короткое сравнение может быть таким -

jQuery

  • Может быть легко использован теми, у кого есть правильные знания в CSS-селекторах
  • Это библиотека, используемая для DOM Manipulations
  • Не имеет ничего общего с моделями
  • Легко управлять содержимым веб-страницы
  • Примените стили, чтобы сделать интерфейс более привлекательным.
  • Простой обход DOM
  • Эффекты и анимация
  • Простой вызов AJAX и
  • Удобство использования служебных программ
  • не имеют двухсторонней привязки
  • становится сложным и трудно поддерживать, когда размер проекта увеличивается.
  • Иногда вам приходится писать больше кода для достижения той же функциональности, что и в Angular.Js

Angular.Js

  • Это MVVM Framework
  • Используется для создания SPA (одностраничных приложений)
  • Он имеет такие ключевые функции, как маршрутизация, директивы, двусторонняя привязка данных, модели, инъекция зависимостей, модульные тесты и т.д.
  • является модульным
  • Поддержан, если размер проекта увеличивается
  • Быстро
  • Двусторонняя привязка данных REST дружественный Шаблон на основе MVC
  • Глубокое соединение
  • Шаблонирование
  • Проверка формы сборки
  • Инъекция зависимостей
  • Локализация
  • Полная тестовая среда
  • Связь с сервером

И многое другое

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

Думайте, что это помогает.

Подробнее можно найти -

8
27 окт. '16 в 16:49
источник

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 it’s 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 it’s 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. It’s
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
3
03 сент. '16 в 12:11
источник

Посмотрите другие вопросы по меткам или Задайте вопрос