Differenza tra jQuery e AngularJS e Node.js [chiuso]


106

Sto appena iniziando lo sviluppo web e finora so:

HTML - layout del sito web

CSS: fallo sembrare carino

JavaScript - funzionalità

Allora cosa sono jQuery , AngularJS e Node.js ?

Dopo aver fatto una rapida ricerca, ho scoperto che jQuery è una "libreria JavaScript", AngularJS è un "framework per applicazioni web front-end open source basato su JavaScript" e Node.js è "JavaScript runtime environment".

Sembrano essere tutti correlati a JavaScript, quindi sono nuovi linguaggi? Cosa significa "framework / libreria"?

Una semplice risposta sarebbe apprezzata. (Ho appena iniziato la programmazione web, ma ho familiarità con la programmazione).


2
Una "libreria" è fondamentalmente solo una raccolta di funzioni utili che qualcun altro ha scritto e testato per te - jQuery è una raccolta di funzioni JavaScript. Un "framework" è una sorta di astrazione in cui il codice della struttura dell'applicazione comune è stato scritto per te e puoi sovrascriverne parti in base alle esigenze specifiche della tua app. NodeJS è uno strumento che ti consente di eseguire JavaScript da qualche parte diversa dal browser (spesso su un server web, quindi invece di Java o DotNET o PHP o altro).
nnnnnn

3
Starai bene. Tu sai perché? Perché parli inglese. Ci sono già un sacco di cose là fuori per te. Hai solo bisogno di prenderti tempo e impararlo. Nel mio paese, l'inglese è un grosso problema. Conosco molte persone, che hanno difficoltà a imparare la programmazione (molte hanno rinunciato e sono passate ad altri lavori) solo perché l'inglese non è buono. Tuttavia, come ho detto, ti ci vorrà molto tempo.
vothaison

Vedi anche questa domanda .
nnnnnn

Risposte:


202

jQuery è una libreria (lato client)

jQuery è una libreria JavaScript veloce, piccola, leggera, "scrivi meno, fai di più" e ricca di funzionalità.

Rende molto più semplici cose come l'attraversamento e la manipolazione di documenti HTML, la gestione degli eventi, l'animazione e Ajax con un'API di facile utilizzo che funziona su una moltitudine di browser.

AngularJS è un framework MVC (lato client)

AngularJS è un framework MVC JavaScript lato client per sviluppare un'applicazione web dinamica.

Ti consente di utilizzare HTML come linguaggio del modello e di estendere la sintassi dell'HTML per esprimere i componenti della tua applicazione in modo chiaro e conciso. Il data binding e l'inserimento delle dipendenze di AngularJS eliminano gran parte del codice che altrimenti dovreste scrivere. E tutto avviene all'interno del browser, rendendolo un partner ideale con qualsiasi tecnologia server. AngularJS è stato originariamente avviato come progetto in Google, ma ora è un framework open source.

Node.js è una piattaforma e un ambiente di runtime (lato server)

Node.js è un ambiente di runtime multipiattaforma open source per lo sviluppo di applicazioni lato server e di rete basate sul motore JavaScript di Google Chrome (motore V8). Le applicazioni Node.js sono scritte in JavaScript e possono essere eseguite nel runtime Node.js su OS X, Microsoft Windows e Linux.

Node.js fornisce anche una ricca libreria di vari moduli JavaScript che semplifica lo sviluppo di applicazioni web utilizzando Node.js in larga misura. Node.js utilizza un modello I / O basato su eventi e non bloccante che lo rende leggero ed efficiente, perfetto per applicazioni in tempo reale ad alta intensità di dati che vengono eseguite su dispositivi distribuiti.

Libreria vs. Framework

La differenza fondamentale tra una libreria e un framework è "Inversion of Control". Quando chiami un metodo da una libreria, hai il controllo. Ma con un framework, il controllo è invertito: il framework ti chiama.

Inserisci qui la descrizione dell'immagine

Biblioteca

Una raccolta di funzioni utili durante la scrittura di applicazioni web. Il tuo codice è in carica e chiama nella libreria quando lo ritiene opportuno. Ad esempio, jQuery.

Struttura

Una particolare implementazione di un'applicazione web, in cui il codice inserisce i dettagli. Il framework è responsabile e chiama il tuo codice quando ha bisogno di qualcosa di specifico dell'applicazione. Ad esempio, AngularJS, Durandal , Ember.js , ecc.


27

In parole semplici,

  • jQuery - è una raccolta di funzioni JavaScript per manipolare HTML e CSS
  • AngularJS - è un framework JavaScript che ti aiuta a organizzare HTML e CSS
  • Node.js- è un runtime JavaScript ... un po 'come un browser sul tuo server o macchina locale, ma senza tutto il motore di rendering del browser e gli extra .. è solo un runtime

La principale differenza tra libreria e framework in parole semplici:
Framework impone una certa architettura e si aspetta che l'applicazione segua le sue aspettative La
libreria è una raccolta di elementi costitutivi di basso livello che spesso forniscono funzioni granulari volte a risolvere problemi molto specifici (es. Jquery.post () funzione)*


17

jQuery

jQuery è una libreria che fa molte cose per te. Contiene molte funzioni utili e di uso comune in modo da non dover scrivere questo codice da soli. È una sorta di differenza tra essere un falegname nell'età della pietra o avere a disposizione una serie di utensili elettrici.

AngularJS

AngularJS è un framework utilizzato per creare interfacce utente grafiche (GUI) front-end per siti Web interattivi e applicazioni Web. È una potente combinazione se usato insieme a Node.js

Node.js

Node è un framework utilizzato per creare servizi Web back-end , come endpoint REST API che estraggono i dati per te in background. È possibile collegare pulsanti ed elementi GUI a questi endpoint utilizzando AngularJS per creare applicazioni Web e report Web ricchi e basati sui dati. Essendo RESTful, questi servizi attendono fino a quando il front-end invia loro una richiesta (l'utente fa clic su un pulsante) ed eseguono una query sul database o leggono un file e restituiscono alcuni dati, che l'applicazione Web può quindi visualizzare all'utente.

Quadri in generale

I quadri nella precedente analogia con il falegname sono come affidare a un team di costruttori professionisti il ​​compito di fare il lavoro per te. Descrivi il lavoro in modo sufficientemente dettagliato e loro subentrano e lo portano a termine. Pertanto, il tuo compito si riduce a elaborare le specifiche del lavoro nella lingua corretta affinché il team di costruttori possa capire, piuttosto che svolgere il lavoro da solo.

AngularJS sarebbe come il team di interior design insieme all'elettrico, e Node.js sarebbe tutto il resto. Semplicistica? Può essere. Ma hai chiesto una semplice spiegazione.

Quindi potresti pensare ad AngularJS e Node.js come opposti, ma possono essere usati insieme nella stessa applicazione o progetto. Svolgono scopi diversi, ma entrambi usano JavaScript (e in una certa misura jQuery) per farlo.


7
  • Framework : descrive una data struttura di come presentare il codice. Più o meno come un modello di codice, insieme ad alcuni helper, costruttori, ecc. Per risolvere / semplificare un problema specifico o mettere "in ordine" la tua architettura. Esempi, Backbone.js , RequireJS, Socket.IO . Un framework incapsula la funzionalità dell'applicazione comune, consentendo allo sviluppatore di concentrarsi sulle parti che sono uniche per la propria applicazione.

  • Libreria : è un intero toolkit che astrae altamente diversi livelli, come browser, modelli DOM, ecc. Inoltre, come un buon toolkit, offre molti strumenti e cose pulite con cui lavorare, il che in generale semplifica la tua esperienza di codifica. Esempi sono jQuery e MooTools .

Guarda qui per maggiori informazioni.


"Libreria: è un intero toolkit" - Notando che potrebbe essere un toolkit molto piccolo se il suo scopo è quello di gestire, diciamo, solo dati di data / ora.
nnnnnn

7

Ecco perché stanno diventando sempre più popolari di giorno in giorno:

jQuery

  • I codici Jquery sono relativamente più brevi. A volte solo cinque righe di codice jQuery equivalgono a 25 righe di codice JavaScript convenzionale (ad esempio il caricamento di un file di dati con AJAX). Ciò significa meno codice e file molto più piccoli.
  • Ampia libreria: jQuery ti consente di eseguire orde di funzioni rispetto ad altre librerie JavaScript.
  • Super facile lavorare con Ajax: jQuery ti consente di sviluppare modelli Ajax con molta facilità, Ajax consente un'interfaccia più elegante in cui le azioni possono essere eseguite sulle pagine senza che sia necessario ricaricare l'intera pagina.

AngularJS

  • Associazione dati bidirezionale: sebbene sia possibile scrivere un semplice evento di associazione dati bidirezionale in jQuery, le librerie JavaScript MVC forniscono un modo più dichiarativo (utilizzando HTML) di connettere i modelli alla vista.
  • Ottimo per SPA ( applicazioni a pagina singola ): librerie come AngularJS, Aurelia, Ember.js e Meteor forniscono tutto l'impianto idraulico invece di scrivere tutto in jQuery

Node.js

  • È veloce: oltre all'esecuzione fulminea di JavaScript, la vera magia dietro Node.js è il loop degli eventi. Il ciclo di eventi è un singolo thread che esegue tutte le operazioni di I / O in modo asincrono. Tradizionalmente, le operazioni di I / O vengono eseguite in modo sincrono (blocco) o in modo asincrono generando thread paralleli per eseguire il lavoro.
  • Real-time Made Easy: se Node.js eccelle in molte connessioni simultanee, allora ha senso che eccelle nelle applicazioni web multiutente e in tempo reale come chat e giochi. Il ciclo di eventi di Node.js si prende cura del requisito multiutente.

2
"5 righe di codice jQuery equivalgono a 25 righe di codice JavaScript convenzionale" - A seconda di cosa stai cercando di fare. Per alcune attività c'è una differenza minima, per altre c'è una grande differenza. "Ciò significa file più piccoli e caricamento più veloce delle pagine web." - Tranne che il codice che jQuery ti ha salvato dalla scrittura per te stesso è tutto contenuto nel file jQuery che deve essere anche scaricato nel browser. Quindi la quantità totale di codice è probabilmente maggiore.
nnnnnn

questi file vengono caricati durante il caricamento del documento. poiché la migliore pratica è non usare js fino a quando non viene caricato DOM. non fanno differenza nella velocità di esecuzione dei tuoi eventi di clic o di passaggio del mouse
ab29007

Nella tua risposta hai detto "caricamento più veloce". Non è vero, o certamente non universalmente vero. I file che vengono caricati "durante il caricamento del documento" devono ancora essere scaricati e (a seconda della pagina) devono essere scaricati prima che l'utente possa interagire in modo significativo con la pagina. (Nota: non sto dicendo che jQuery sia affatto una brutta cosa, solo che la tua descrizione è fuorviante nella migliore delle ipotesi.)
nnnnnn

ok .. se la pensi così rimuoverei il caricamento più veloce
ab29007

Posso scrivere JQuery e javascript nello stesso programma
K Split X

6

Utilizzi HTML, CSS e JavaScript per creare siti web interattivi.

jQuery è uno strumento scritto in JavaScript.

AngularJS è uno strumento scritto in JavaScript.

React è uno strumento scritto in JavaScript.

Questi strumenti ti aiutano a gestire le interazioni tra HTML, CSS e JavaScript secondo le proprie regole. Una volta che uno strumento diventa veramente grande, potrebbe assumere un nome come "libreria" o "framework" a seconda delle sue caratteristiche.

Spesso eseguiamo JavaScript in un browser web. Ma a partire da pochi anni fa, è arrivata questa cosa chiamata Node.js che ci ha permesso di eseguire facilmente JavaScript al di fuori del browser. Mi piace pensarlo come "un programma che esegue JavaScript al di fuori del browser" (il che significa ... non c'è HTML o CSS da guardare).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.