Qui, jquery è menzionato nella categoria framework: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
Jquery è una libreria o un framework javascript?
Qui, jquery è menzionato nella categoria framework: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
Jquery è una libreria o un framework javascript?
Risposte:
Una biblioteca. Secondo la homepage , e con cui sono d'accordo.
Un framework è qualcosa che di solito impone un certo modo di implementare una soluzione, mentre jQuery è solo uno strumento per rendere più semplice l'implementazione di ciò che vuoi fare.
Di sicuro è una libreria javascript. Ma riguardo all'essere o meno un framework, penso solo che non sia un framework. Dai un'occhiata alla definizione di framework software di Wikipedia :
È una raccolta di librerie software che forniscono un'interfaccia di programmazione dell'applicazione definita.
E jQuery è solo una singola libreria. Dopodiché dice:
I framework contengono caratteristiche distintive chiave che li separano dalle normali librerie:
- inversione di controllo - In un framework, a differenza delle librerie o delle normali applicazioni utente, il flusso di controllo del programma complessivo non è dettato dal chiamante, ma dal framework.
Quindi, penso che non sia un framework.
Secondo il sito web di angularjs
- una libreria: una raccolta di funzioni utili durante la scrittura di app Web. Il tuo codice è in carica e chiama nella libreria quando
lo ritiene opportuno. Ad esempio, jQuery.- framework: una particolare implementazione di un'applicazione web, in cui il codice inserisce i dettagli. Il framework è in carica e chiama il tuo codice quando ha bisogno di qualcosa di specifico per l'app. Ad esempio, durandal, brace, ecc.
Framework e libarry non sono necessariamente termini che si escludono a vicenda. Framework è tipicamente una libreria o una raccolta di librerie.
A rigor di termini, jQuery è una libreria, ma, in una certa misura, soddisfa la definizione di un framework software. Sebbene molti sostengano che jQuery non soddisfa la definizione di un framework software in modo abbastanza rigoroso, il fatto è che nessun altro framework JavaScript soddisfa pienamente la definizione di un framework.
Una delle caratteristiche distintive di un framework software è che il suo codice è protetto dalle modifiche. In JavaScript, questo chiaramente non è il caso. Eventuali librerie o framework che possono essere richiamati nel codice lato client sono modificabili, sebbene sarebbe contro le migliori pratiche modificarli. Pertanto, se è consentito chiamare Bootstrap o AngularJS un framework, non c'è motivo per cui jQuery non possa essere chiamato nemmeno framework. Questo collegamento contiene una spiegazione più dettagliata di come jQuery soddisfa i criteri per essere chiamato framework.
Forse la migliore spiegazione del perché jQuery è più un framework che una libreria è il fatto che come sviluppatore, puoi scegliere di non utilizzare nessuna delle sue funzionalità simili a framework. Ad esempio, puoi combinare una semplice istruzione jQuery con un'istruzione JavaScript standard sulla stessa riga. AngularJS e Bootstrap in genere non ti consentono di farlo. Pertanto, la risposta corretta se jQuery è un framework o meno è "dipende se hai scelto di usarlo come framework o meno".
Sono d'accordo con tutte le risposte qui che jQuery stesso è davvero una libreria, non un framework. Come specificato dalla risposta di Saeed, una delle principali caratteristiche distintive è l'inversione del controllo. È tuttavia possibile utilizzare la funzionalità di jQuery per creare un proprio framework.
Esempi: ci sono progetti costruiti su jQuery che sono definiti come framework: jQuery Mobile: A Touch-Optimized Web Framework , JavaScriptMVC e sammy.js per citarne alcuni.
Ci sono anche altre librerie costruite su jQuery, come jQuery UI
Alcuni sembrano semantici quando si definisce cosa sia una libreria rispetto a un framework, ma questi esempi aiutano a tracciare la linea per me.
Se parliamo di inversione del controllo, di cui parlano quasi tutti nel thread precedente, jQuery è un FRAMEWORK.
Ha IOC, ad esempio quando scriviamo la funzione $ (document) .ready {} ... è il contenitore che chiama questo metodo e mettiamo semplicemente il nostro codice tra parentesi graffe. Non siamo noi il chiamante di questo metodo e quindi "Inversion of Control"
In questo modo jQuery è un FRAMEWORK.
ready()
.