Różnica między jQuery, AngularJS i Node.js [zamknięte]

106

Dopiero zaczynam tworzenie stron internetowych i na razie wiem:

HTML - układ strony internetowej

CSS - nadaj mu ładny wygląd

JavaScript - funkcjonalność

Czym więc jest jQuery , AngularJS i Node.js ?

Po szybkim wyszukiwaniu stwierdziłem, że jQuery to „biblioteka JavaScript”, AngularJS to „oparty na języku JavaScript front-endowy szkielet aplikacji internetowych”, a Node.js to „środowisko wykonawcze JavaScript”.

Wydaje się, że wszystkie są powiązane z JavaScriptem, więc czy są to nowe języki? Co oznacza termin „framework / biblioteka”?

Doceniona byłaby prosta odpowiedź. (Dopiero zaczynam programowanie w sieci, ale znam programowanie).

K Split X
źródło
2
„Biblioteka” to po prostu zbiór przydatnych funkcji, które ktoś inny napisał i przetestował dla Ciebie - jQuery to zbiór funkcji JavaScript. „Framework” to rodzaj abstrakcji, w której napisano dla Ciebie wspólny kod struktury aplikacji i możesz nadpisać jego fragmenty zgodnie z potrzebami aplikacji. NodeJS to narzędzie, które pozwala uruchamiać JavaScript w innym miejscu niż przeglądarka (często na serwerze WWW, więc zamiast Java, DotNET, PHP lub cokolwiek innego).
nnnnnn
3
Będzie dobrze. Wiesz dlaczego? Ponieważ mówisz po angielsku. Jest już dla ciebie mnóstwo rzeczy. Musisz tylko poświęcić trochę czasu i się tego nauczyć. W moim kraju angielski to duży problem. Znam wielu ludzi, którzy mają trudności z nauką programowania (wielu poddało się i przestawiło na inne zawody) tylko dlatego, że tam angielski nie jest dobry. Mimo to, jak powiedziałem, zajmie ci to dużo czasu.
vothaison
Zobacz także to pytanie .
nnnnnn

Odpowiedzi:

202

jQuery to biblioteka (po stronie klienta)

jQuery to szybka, mała, lekka biblioteka JavaScript „pisz mniej, rób więcej” i bogata w funkcje.

To sprawia, że ​​takie rzeczy, jak przechodzenie i manipulowanie dokumentami HTML, obsługa zdarzeń, animacja i Ajax są znacznie prostsze dzięki łatwemu w użyciu API, które działa w wielu przeglądarkach.

AngularJS to framework MVC (po stronie klienta)

AngularJS jest frameworkiem JavaScript MVC po stronie klienta do tworzenia dynamicznych aplikacji internetowych.

Pozwala używać HTML jako języka szablonów i pozwala rozszerzyć składnię HTML, aby jasno i zwięźle wyrazić komponenty aplikacji. Powiązanie danych i wstrzykiwanie zależności w AngularJS eliminują znaczną część kodu, który w innym przypadku musiałbyś napisać. A wszystko to dzieje się w przeglądarce, co czyni ją idealnym partnerem dla dowolnej technologii serwerowej. AngularJS początkowo był projektem w Google, ale teraz jest frameworkiem open source.

Node.js to platforma i środowisko wykonawcze (po stronie serwera)

Node.js to otwarte, wieloplatformowe środowisko wykonawcze do tworzenia aplikacji po stronie serwera i aplikacji sieciowych opartych na silniku JavaScript przeglądarki Google Chrome (silnik V8). Aplikacje Node.js są napisane w JavaScript i można je uruchamiać w środowisku wykonawczym Node.js w systemach OS X, Microsoft Windows i Linux.

Node.js zapewnia również bogatą bibliotekę różnych modułów JavaScript, co znacznie upraszcza tworzenie aplikacji internetowych przy użyciu Node.js. Node.js wykorzystuje oparty na zdarzeniach, nieblokujący model we / wy, dzięki czemu jest lekki i wydajny, idealny do aplikacji czasu rzeczywistego wymagających dużej ilości danych, które działają na rozproszonych urządzeniach.

Biblioteka a ramy

Kluczową różnicą między biblioteką a frameworkiem jest „Odwrócenie kontroli”. Kiedy wywołujesz metodę z biblioteki, masz kontrolę. Ale w przypadku frameworka kontrola jest odwrócona: framework cię wzywa.

Tutaj wprowadź opis obrazu

Biblioteka

Zbiór funkcji przydatnych podczas pisania aplikacji internetowych. Twój kod jest odpowiedzialny i wywołuje bibliotekę, kiedy uzna to za stosowne. Np. JQuery.

Struktura

Konkretna implementacja aplikacji internetowej, w której kod wypełnia szczegóły. Framework jest odpowiedzialny i wywołuje Twój kod, gdy potrzebuje czegoś specyficznego dla aplikacji. Np. AngularJS, Durandal , Ember.js itp.

Aruna
źródło
27

W prostych słowach

  • jQuery - to zbiór funkcji JavaScript do manipulowania HTML i CSS
  • AngularJS - to framework JavaScript, który pomaga organizować HTML i CSS
  • Node.js - to środowisko uruchomieniowe JavaScript ... coś w rodzaju przeglądarki na serwerze lub komputerze lokalnym, ale bez całego silnika renderowania przeglądarki i dodatków ... to tylko środowisko wykonawcze

Główną różnicą w porównaniu z biblioteki ram w prostych słowach:
ramowa nakłada pewne architektury i oczekuje wniosku śledzić swoje oczekiwania
Biblioteka jest zbiorem niskopoziomowe bloki budowy często zapewniając ziarnistych funkcje zmierzające do rozwiązania bardzo konkretne problemy (tzn jquery.post () funkcjonować)*

Dmitry Matveev
źródło
17

jQuery

jQuery to biblioteka, która robi za Ciebie wiele rzeczy. Zawiera wiele przydatnych, często używanych funkcji, dzięki czemu nie musisz samodzielnie pisać tego kodu. To w pewnym sensie różnica między byciem stolarzem w epoce kamienia łupanego a posiadaniem szeregu elektronarzędzi do dyspozycji.

AngularJS

AngularJS jest frameworkiem używanym do tworzenia front-endowych, graficznych interfejsów użytkownika (GUI) dla interaktywnych witryn internetowych i aplikacji internetowych. Tworzy potężną kombinację, gdy jest używana razem z Node.js.

Node.js

Węzeł to struktura używana do tworzenia usług internetowych zaplecza , takich jak punkty końcowe interfejsu API REST, które pobierają dane w tle. Możesz podłączyć przyciski i elementy GUI do tych punktów końcowych za pomocą AngularJS do tworzenia rozbudowanych, opartych na danych aplikacji internetowych i raportów internetowych. Będąc zgodnymi z REST, te usługi czekają, aż front-end wyśle ​​im żądanie (użytkownik kliknie przycisk) i wykonają zapytanie do bazy danych lub odczytują plik i wypluwają pewne dane z powrotem, które aplikacja internetowa może następnie wyświetlić użytkownikowi.

Ogólne ramy

Ramy we wcześniejszej analogii ze stolarzem są jak zatrudnianie zespołu profesjonalnych konstruktorów, którzy wykonają pracę za Ciebie. Opisujesz pracę wystarczająco szczegółowo, a oni przejmują ją i faktycznie ją wykonują. W związku z tym Twoje zadanie ogranicza się do opracowania specyfikacji pracy we właściwym języku, aby zespół konstruktorów mógł je zrozumieć, zamiast samodzielnego wykonywania pracy.

AngularJS byłby jak zespół projektantów wnętrz wraz z elektryką, a Node.js byłby wszystkim innym. Nadmiernie uproszczony? Może. Ale poprosiłeś o proste wyjaśnienie.

Możesz więc myśleć o AngularJS i Node.js jako przeciwieństwach, ale mogą być używane razem w tej samej aplikacji lub projekcie. Spełniają różne cele, ale oboje używają do tego JavaScript (i do pewnego stopnia jQuery).

Tim
źródło
7
  • Framework : Opisuje daną strukturę, w jaki sposób powinieneś prezentować swój kod. Zupełnie jak szablon kodu, wraz z pomocnikami, konstruktorami itp. W celu rozwiązania / uproszczenia konkretnego problemu lub uporządkowania architektury. Przykłady, Backbone.js , RequireJS, Socket.IO . Struktura hermetyzuje typową funkcjonalność aplikacji, umożliwiając deweloperowi skupienie się na częściach, które są unikalne dla ich aplikacji.

  • Biblioteka : to cały zestaw narzędzi, który bardzo abstrakcyjnie oddziela różne warstwy, takie jak przeglądarki, modele DOM, itp. Również jako dobry zestaw narzędzi oferuje wiele narzędzi i fajnych rzeczy do pracy, co ogólnie upraszcza kodowanie. Przykładami są jQuery i MooTools .

Spójrz tutaj , aby uzyskać więcej informacji.

Yaser
źródło
„Biblioteka: to cały zestaw narzędzi” - zauważając, że może to być bardzo mały zestaw narzędzi, jeśli jego celem jest zajmowanie się, powiedzmy, tylko danymi daty / czasu.
nnnnnn
7

Oto dlaczego stają się coraz bardziej popularne z dnia na dzień:

jQuery

  • Kody JQuery są stosunkowo krótsze. Czasami zaledwie pięć wierszy kodu jQuery odpowiada 25 wierszom konwencjonalnego kodu JavaScript (na przykład ładowanie pliku danych za pomocą AJAX). Oznacza to mniej kodu i znacznie mniejsze pliki.
  • Duża biblioteka: jQuery umożliwia wykonywanie hord funkcji w porównaniu z innymi bibliotekami JavaScript.
  • Bardzo łatwa praca z Ajax: jQuery pozwala z łatwością opracowywać szablony Ajax, Ajax zapewnia bardziej elegancki interfejs, w którym działania można wykonywać na stronach bez konieczności ponownego ładowania całej strony.

AngularJS

  • Dwukierunkowe wiązanie danych: chociaż można napisać proste zdarzenie dwukierunkowego powiązania danych w jQuery, biblioteki JavaScript MVC zapewniają bardziej deklaratywny (przy użyciu HTML) sposób łączenia modeli z widokiem.
  • Świetne dla SPA ( aplikacje jednostronicowe ): Biblioteki takie jak AngularJS, Aurelia, Ember.js i Meteor zapewniają całą instalację wodociągową zamiast pisać wszystko w jQuery

Node.js

  • Jest szybki: oprócz błyskawicznego wykonywania JavaScript, prawdziwą magią Node.js jest pętla zdarzeń. Pętla zdarzeń to pojedynczy wątek, który wykonuje wszystkie operacje we / wy asynchronicznie. Tradycyjnie operacje we / wy są uruchamiane synchronicznie (blokowanie) lub asynchronicznie przez tworzenie równoległych wątków w celu wykonania pracy.
  • Uproszczone w czasie rzeczywistym: jeśli Node.js wyróżnia się wieloma równoczesnymi połączeniami, to ma sens, że wyróżnia się w aplikacjach internetowych czasu rzeczywistego dla wielu użytkowników, takich jak czat i gry. Pętla zdarzeń Node.js spełnia wymagania wielu użytkowników.
ab29007
źródło
2
„5 linii kodu jQuery odpowiada 25 liniom tradycyjnego kodu JavaScript” - w zależności od tego, co próbujesz zrobić. W przypadku niektórych zadań różnica jest minimalna, w przypadku innych jest duża różnica. „Oznacza to mniejsze pliki i szybsze ładowanie stron internetowych”. - Tyle że kod jQuery, który uchronił cię przed pisaniem dla siebie, jest w całości zawarty w pliku jQuery, który również trzeba pobrać do przeglądarki. Więc całkowita ilość kodu jest prawdopodobnie większa.
nnnnnn
te pliki są ładowane podczas ładowania dokumentu. ponieważ najlepszą praktyką jest nie używać js, dopóki DOM nie zostanie załadowany. nie robią różnicy w szybkości wykonywania zdarzeń
związanych
W swojej odpowiedzi powiedziałeś „szybsze ładowanie”. To nieprawda, a na pewno nie uniwersalnie. Pliki, które są ładowane „podczas ładowania dokumentu”, nadal muszą zostać pobrane i (w zależności od strony) muszą zostać pobrane, zanim użytkownik będzie mógł w znaczący sposób wchodzić w interakcję ze stroną. (Uwaga: nie mówię, że jQuery to w ogóle zła rzecz, tylko że twój opis jest w najlepszym razie mylący.)
nnnnnn
ok .. jeśli tak myślisz,
usunąłbym
Czy mogę napisać JQuery i javascript w tym samym programie
K Split X
6

Używasz HTML, CSS i JavaScript do tworzenia interaktywnych witryn internetowych.

jQuery to narzędzie napisane w JavaScript.

AngularJS to narzędzie napisane w języku JavaScript.

React to narzędzie napisane w JavaScript.

Te narzędzia pomagają zarządzać interakcjami między HTML, CSS i JavaScript zgodnie z ich własnymi regułami. Gdy narzędzie stanie się naprawdę duże, może przyjąć nazwę taką jak „biblioteka” lub „struktura” w zależności od swoich cech.

Często uruchamiamy JavaScript w przeglądarce internetowej. Jednak kilka lat temu pojawiła się rzecz o nazwie Node.js, która umożliwiła nam łatwe uruchamianie JavaScript poza przeglądarką. Lubię o nim myśleć jako o „programie, który uruchamia JavaScript poza przeglądarką” (co oznacza ... nie ma HTMLa ani CSS, na które mógłbym spojrzeć).

therobinkim
źródło