Різниця між 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.

Завдяки простому у користуванні API, який працює у безлічі браузерів, такі речі, як обробка та обробка документами HTML, маніпулювання, подія, анімація та Ajax, набагато простіші.

AngularJS - це структура MVC (клієнтська частина)

AngularJS - це система MVC на стороні клієнта, яка розробляє динамічний веб-додаток.

Це дозволяє використовувати HTML як мову шаблону, а також дозволяє розширити синтаксис HTML, щоб чітко та коротко виразити компоненти програми. Прив'язка даних AngularJS і введення залежності усувають більшу частину коду, який ви інакше повинні були б написати. І все це відбувається в браузері, що робить його ідеальним партнером для будь-якої серверної технології. AngularJS спочатку запускався як проект в Google, але зараз це структура з відкритим кодом.

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

Node.js - це відкрите джерело, міжплатформенне середовище виконання програм для розробки програм на стороні сервера та мереж, побудованих на JavaScript Chrome 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 під час виконання ... подібний до браузера на вашому сервері чи локальній машині, але без усього механізму візуалізації браузера та додаткових даних. Це просто час виконання

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


17

jQuery

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

КутовийJS

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

Node.js

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

Рамки загалом

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

AngularJS був би як команда дизайнерів інтер'єру разом з електричною, а 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 дає можливість зробити інтерфейс, який можна виконувати на сторінках, не вимагаючи перезавантаження всієї сторінки.

КутовийJS

  • Двостороння прив'язка даних: Хоча ви можете записати просту подію двостороннього зв’язування даних у 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

ок .. якщо ви думаєте, так я б
зняв

Чи можу я написати JQuery та javascript у тій же програмі
K Split X

6

Для створення інтерактивних веб-сайтів ви використовуєте HTML, CSS та JavaScript.

jQuery - це інструмент, написаний на JavaScript.

AngularJS - це інструмент, написаний на JavaScript.

React - це інструмент, написаний на JavaScript.

Ці інструменти допомагають керувати взаємодією між HTML, CSS та JavaScript відповідно до власних правил. Після того, як інструмент стає дійсно великим, він може набувати такої назви, як "бібліотека" або "рамка", залежно від його характеристик.

Ми часто запускаємо JavaScript у веб-браузері. Але, як і кілька років тому, ця штука під назвою Node.js з'явилася разом, що дозволило нам легко запускати JavaScript за межами браузера. Мені подобається думати про це як про "програму, яка працює за межами браузера" (це означає, що немає HTML або CSS, на який слід дивитися).

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