Разница между jQuery, AngularJS и Node.js [закрыто]


106

Я только начинаю веб-разработку и пока знаю:

HTML - верстка сайта

CSS - сделайте это красивым

JavaScript - функциональность

Тогда что такое jQuery , AngularJS и Node.js ?

Проведя быстрый поиск, я обнаружил, что jQuery - это «библиотека JavaScript», AngularJS - это «фреймворк интерфейсных веб-приложений на основе JavaScript», а Node.js - «среда выполнения JavaScript».

Кажется, все они связаны с JavaScript, так это новые языки? Что означает «фреймворк / библиотека»?

Был бы признателен за простой ответ. (Я только начинаю программировать, но с программированием знаком).


2
«Библиотека» - это просто набор полезных функций, которые кто-то написал и протестировал для вас; jQuery - это набор функций JavaScript. «Фреймворк» - это своего рода абстракция, в которой для вас написан общий код структуры приложения, и вы можете переопределить его части в соответствии с потребностями вашего конкретного приложения. NodeJS - это инструмент, который позволяет запускать JavaScript где-нибудь, кроме браузера (часто на веб-сервере, вместо Java, DotNET, PHP или чего-то еще).
nnnnnn

3
У тебя все будет отлично. Ты знаешь почему? Потому что вы говорите по-английски. Для вас уже есть масса вещей. Вам просто нужно потратить время и изучить это. В моей стране английский - большая проблема. Я знаю много людей, которым трудно учиться программированию (многие бросили и перешли на другую работу) только потому, что там английский не очень хорош. Тем не менее, как я уже сказал, это займет у вас много времени.
vothaison

См. Также этот вопрос .
nnnnnn

Ответы:


202

jQuery - это библиотека (на стороне клиента)

jQuery - это быстрая, небольшая, легкая, многофункциональная библиотека JavaScript "меньше пиши, делай больше".

Он значительно упрощает такие вещи, как обход и манипуляции с HTML-документами, обработка событий, анимация и Ajax, с помощью простого в использовании API, который работает во множестве браузеров.

AngularJS - это платформа MVC (на стороне клиента)

AngularJS - это клиентская платформа JavaScript MVC для разработки динамических веб-приложений.

Он позволяет использовать HTML в качестве языка шаблонов и позволяет расширять синтаксис HTML для четкого и лаконичного представления компонентов вашего приложения. Связывание данных и внедрение зависимостей в AngularJS устраняют большую часть кода, который в противном случае пришлось бы писать. И все это происходит в браузере, что делает его идеальным партнером для любой серверной технологии. Изначально AngularJS начинался как проект в Google, но теперь это фреймворк с открытым исходным кодом.

Node.js - платформа и среда выполнения (на стороне сервера)

Node.js - это кроссплатформенная среда выполнения с открытым исходным кодом для разработки серверных и сетевых приложений, построенных на движке Google Chrome JavaScript Engine (V8 Engine). Приложения Node.js написаны на JavaScript и могут запускаться в среде выполнения Node.js в OS X, Microsoft Windows и Linux.

Node.js также предоставляет богатую библиотеку различных модулей JavaScript, которая в значительной степени упрощает разработку веб-приложений с использованием Node.js. Node.js использует управляемую событиями неблокирующую модель ввода-вывода, которая делает его легким и эффективным, идеально подходящим для приложений с интенсивным использованием данных в реальном времени, которые работают на распределенных устройствах.

Библиотека против фреймворка

Ключевое различие между библиотекой и фреймворком - «инверсия управления». Когда вы вызываете метод из библиотеки, все в ваших руках. Но с фреймворком управление перевернуто: фреймворк зовет вас.

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

Библиотека

Набор функций, полезных при написании веб-приложений. Ваш код отвечает за вас, и он обращается к библиотеке, когда считает нужным. Например, jQuery.

Фреймворк

Конкретная реализация веб-приложения, где ваш код заполняет детали. За все отвечает фреймворк, который вызывает ваш код, когда ему нужно что-то специфичное для приложения. Например, AngularJS, Durandal , Ember.js и т. Д.


27

Простыми словами,

  • jQuery - это набор функций JavaScript для управления HTML и CSS.
  • AngularJS - это JavaScript-фреймворк, который помогает вам организовать HTML и CSS.
  • Node.js - это среда выполнения JavaScript ... вроде как браузер на вашем сервере или локальном компьютере, но без всего механизма рендеринга браузера и дополнительных функций ... это просто среда выполнения

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


17

jQuery

jQuery - это библиотека, которая многое делает за вас. Он содержит множество удобных, часто используемых функций, так что вам не придется писать этот код самостоятельно. Это своего рода разница между плотником в каменном веке или набором электроинструментов в вашем распоряжении.

AngularJS

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

Node.js

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

Фреймворки в целом

Каркасы в более ранней аналогии с плотником похожи на контракт с командой профессиональных строителей, которые сделают за вас работу. Вы достаточно подробно описываете работу, а они ее берут на себя и фактически выполняют. Таким образом, ваша задача сводится к составлению спецификаций работы на правильном языке, чтобы их могла понять команда строителей, а не к выполнению работы самостоятельно.

AngularJS был бы похож на команду дизайнеров интерьера вместе с Electric, а Node.js был бы всем остальным. Упрощено? Может быть. Но вы просили простого объяснения.

Таким образом, вы можете рассматривать AngularJS и Node.js как противоположности, но их можно использовать вместе в одном приложении или проекте. Они служат для разных целей, но оба используют для этого JavaScript (и в некоторой степени jQuery).


7
  • Фреймворк : описывает заданную структуру того, как вы должны представлять свой код. Очень похоже на шаблон кода, с некоторыми помощниками, конструкторами и т. Д. Для решения / упрощения конкретной проблемы или приведения вашей архитектуры в «порядок». Примеры, Backbone.js , RequireJS, Socket.IO . Платформа инкапсулирует общие функции приложения, позволяя разработчику сосредоточиться на частях, уникальных для их приложения.

  • Библиотека : представляет собой полный набор инструментов, который сильно абстрагируется от различных слоев, таких как браузеры, модели DOM и т. Д. Также как хороший набор инструментов, он предлагает множество инструментов и полезных вещей для работы, что в целом упрощает ваш опыт кодирования. Примерами являются jQuery и MooTools .

Смотрите здесь для получения дополнительной информации.


«Библиотека: это полный набор инструментов» - отмечая, что это может быть очень маленький набор инструментов, если его цель - иметь дело, скажем, только с данными даты / времени.
nnnnnn

7

Вот почему они с каждым днем ​​становятся все популярнее:

jQuery

  • Коды JQuery относительно короче. Иногда всего пять строк кода jQuery эквивалентны 25 строкам обычного кода JavaScript (например, загрузка файла данных с помощью AJAX). Это означает меньше кода и файлы гораздо меньшего размера.
  • Большая библиотека: jQuery позволяет выполнять множество функций по сравнению с другими библиотеками JavaScript.
  • Сверхпростая работа с Ajax: jQuery позволяет с легкостью разрабатывать шаблоны Ajax, Ajax обеспечивает более удобный интерфейс, в котором действия могут выполняться на страницах без необходимости перезагрузки всей страницы.

AngularJS

  • Двусторонняя привязка данных: хотя вы можете написать простое двустороннее событие привязки данных в jQuery, библиотеки JavaScript MVC предоставляют более декларативный (с использованием HTML) способ подключения моделей к вашему представлению.
  • Отлично подходит для SPA ( одностраничных приложений ): библиотеки, такие как AngularJS, Aurelia, Ember.js и Meteor, предоставляют вам всю сантехнику вместо того, чтобы писать все это в jQuery.

Node.js

  • Это быстро: помимо молниеносного выполнения JavaScript настоящая магия Node.js - это цикл событий. Цикл событий - это единственный поток, который выполняет все операции ввода-вывода асинхронно. Традиционно операции ввода-вывода выполняются синхронно (блокировка) или асинхронно, порождая параллельные потоки для выполнения работы.
  • Упрощение работы в реальном времени: если Node.js отлично справляется с множеством одновременных подключений, то есть смысл, что он лучше всего справляется с многопользовательскими веб-приложениями реального времени, такими как чат и игры. Цикл событий Node.js заботится о многопользовательских требованиях.

2
«5 строк кода jQuery эквивалентны 25 строкам обычного кода JavaScript» - в зависимости от того, что вы пытаетесь сделать. Для некоторых задач разница минимальна, для других - большая. «Это означает файлы меньшего размера и более быструю загрузку веб-страниц». - За исключением того, что код jQuery спас вас от написания для себя, весь он содержится в файле jQuery, который также необходимо загрузить в браузер. Так что общий объем кода, вероятно, больше.
nnnnnn

эти файлы загружаются во время загрузки документа. так как лучше всего не использовать js до загрузки DOM. они не
влияют на

В своем ответе вы сказали «более быстрая загрузка». Это неправда или, конечно, не всегда. Файлы, которые загружаются «во время загрузки документа», по-прежнему должны быть загружены, и (в зависимости от страницы) должны быть загружены, прежде чем пользователь сможет осмысленно взаимодействовать со страницей. (Примечание: я вовсе не говорю, что jQuery - это плохо, просто ваше описание в лучшем случае вводит в заблуждение.)
nnnnnn

ок .. если ты так думаешь, я бы убрал более быструю загрузку
ab29007

Могу ли я написать JQuery и javascript в одной программе
K Split X

6

Вы используете HTML, CSS и JavaScript для создания интерактивных веб-сайтов.

jQuery - это инструмент, написанный на JavaScript.

AngularJS - это инструмент, написанный на JavaScript.

React - это инструмент, написанный на JavaScript.

Эти инструменты помогут вам управлять взаимодействием между HTML, CSS и JavaScript в соответствии с их собственными правилами. Когда инструмент становится действительно большим, он может получить название, например, «библиотека» или «платформа», в зависимости от его характеристик.

Мы часто запускаем JavaScript в веб-браузере. Но несколько лет назад появилась вещь под названием Node.js, которая позволила нам легко запускать JavaScript вне браузера. Мне нравится думать об этом как о «программе, которая запускает JavaScript вне браузера» (что означает ... нет HTML или CSS для просмотра).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.