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).


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.


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ć)*


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).


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.


„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.

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ć).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.