2016-12-20 7 views
79

Я только начинаю веб-разработки, и до сих пор я знаю:разница между JQuery против AngularJS против Node.js

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

+0

См. Также [этот вопрос] (http://stackoverflow.com/questions/148747/what-is-the-difference-between-a-framework-and-a-library). – nnnnnn

ответ

139

JQuery библиотека (на стороне клиента)

JQuery это быстрый, маленький, легкий , «писать меньше, делать больше» и полнофункциональную библиотеку JavaScript.

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

AngularJS является основой MVC (на стороне клиента)

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

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

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

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

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

Библиотека против Framework

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

Enter image description here

Библиотека

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

Framework

Конкретная реализация веб-приложения, где ваш код заполняет в деталях. Структура отвечает за это, и она вызывает ваш код, когда ему нужно что-то конкретное для приложения. НАПРИМЕР, AngularJS, Durandal, Ember.js и т.д.

+1

Это действительно хороший ответ. Помог мне много! Спасибо –

+1

баллов за схематическое изображение –

+1

Это, безусловно, лучший ответ и очень хорошо объясненный –

3

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

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

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

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

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

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

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

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

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

+0

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

4

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

JQuery

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

AngularJS

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

Node.js

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

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

+0

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

+0

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

20

Говоря простыми словами,

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

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

7

JQuery

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

AngularJS

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

Node.js

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

Каркасы в целом

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

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

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

Смежные вопросы