Considerando
- sfondo di affari
- supporto alla comunità
- estensioni disponibili
- set predefinito di funzionalità
- semplicità d'uso
- e affidabilità
perché preferisci l'uno all'altro?
Considerando
perché preferisci l'uno all'altro?
Risposte:
Proverò ad aggiungere la mia informazione.
A quanto ho capito, Google Closure non è solo un'altra libreria JS, ma è anche un set di strumenti che ti permetterà di ottimizzare il tuo codice JS. Lavorare con jQuery ti dà buoni strumenti e una libreria leggera, ma non minimizza il tuo codice. Il compilatore di chiusura lo farà. L' ispettore di chiusura può anche essere utile, poiché a volte il codice minimizzato ha un comportamento diverso rispetto a quello originale ed è una seccatura da debug. Si integra con Firebug e supporta unit test, che al giorno d'oggi sono entrambi i migliori amici degli sviluppatori.
Immagino che come qualsiasi nuova libreria VS ben consolidata, mancherà la disponibilità di tonnellate di estensioni e tutorial di jQuery. Tuttavia, essere spinti da Google dovrebbe garantire che il supporto e l'affidabilità siano entrambi abbastanza buoni. Anche la documentazione e il tutorial attuali sembrano davvero buoni.
Le caratteristiche di Closure sembrano decenti, tuttavia, e anche la sua architettura modulare è promettente. Immagino che Google lo utilizzi internamente da molto tempo, il che significa che potresti aspettarti che tutte le funzionalità di base (e altro) vengano implementate, e probabilmente in modo molto ottimizzato e scalabile. Stanno cercando di presentarlo come STL di JavaScript, quindi avrebbero dovuto perfezionarlo.
Dopo aver esaminato le funzionalità più da vicino, sembra che questo possa essere un passo avanti per lo sviluppo di applicazioni Web rispetto alle librerie esistenti come jQuery. Immagina che avvantaggia gli sviluppi interni su Google, ma cose come il rilevamento dello stato online (vedi goog.events.OnlineHandler ), la facile integrazione delle richieste AJAX e le azioni JS nella cronologia del browser (vedi goog.History ) o le legioni di grandi widget forniscono (vedi il pacchetto goog.ui ) può aiutare tutti noi a creare app web ancora più fantastiche;)!
Viene fornito con funzionalità di modelli che si integrano con Java (chi ha detto GWT ?), Quindi questo potrebbe anche essere un altro vantaggio per la chiusura.
Infine, sembra piuttosto semplice da usare. La sintassi potrebbe essere un po 'più dettagliata della breve funzione $ jQuery, ma con IDE e completamento automatico non è un vero problema. Inoltre, direi che possiamo aspettarci una buona integrazione in IDE come Eclipse, proveniente da Google.
EDIT: come richiesto, lasciatemi dire alcune parole sul riferimento GWT. Google Web Toolkit è una libreria Java che consente di creare interfacce Web abilitate per AJAX e che genera (e ottimizza) il codice JavaScript richiesto. Poiché Google Closure consente di creare modelli che possono essere utilizzati sia sul lato client che sul lato server (utilizzando JavaScript e Java), la mia ipotesi è che presto sarà possibile utilizzarli congiuntamente (se non è già il caso).
Nel mio breve sguardo all'API, trovo sorprendenti le differenze tra jQuery e Closure.
jQuery è fondamentalmente solo un modo semplificato per eseguire molte operazioni frequenti in modo cross-browser.
La chiusura è un framework molto nuovo, in quanto fornisce un modo cross-browser per utilizzare il <canvas>
tag, ad esempio, e ha aggiunto nuovi eventi.
Quindi, questo si sta aggiungendo a ciò che facciamo di solito con JavaScript, stanno facendo molte operazioni che le persone vogliono fare e le inseriscono nell'API.
Ad esempio, hanno un evento per dire se lo stato online è cambiato. Quindi puoi sapere se il sistema è online.
Hanno funzioni javascript che utilizzano strumenti come Google Gears, che continua con il fatto di aver esteso ciò che può essere fatto con Javascript.
Mi ci vorranno un paio di giorni per digerire tutti i cambiamenti, ma posso vedere che questo potrebbe avere un grande impatto sulle applicazioni web che possono essere sviluppate.
Il più grande vantaggio di Closure Library è che è progettato per Closure Compiler. Questo apre possibilità completamente nuove per lo sviluppo di JavaScript ...
Il compilatore ha diverse funzioni interessanti:
Per i dettagli, consultare: http://blog.klokantech.com/2010/12/closure-compiler-for-openlayers-3x.html
Modifica : guarda questo video di YouTube che potrebbe rispondere meglio ad alcune domande su Google Closure.
Probabilmente le migliori fonti di informazioni sulla chiusura di Google sono gruppi di discussione di progetti , wiki, pagine di documenti, demo e un libro ancora incompiuto di Michael Bolin che è ora disponibile sul sito dei libri di safari.
una cosa che posso dire subito: esiste una curva di apprendimento più ripida per closure
vs, jQuery
ma può valerne la pena a causa della vastità della libreria, della chiara organizzazione e del vantaggio di usarla insieme al compilatore e allo strumento di template.
closure
la biblioteca in tal senso è più simile dojo
di jQuery
, e alcuni concetti sono stati presi in prestito dojo
, secondo Michael Bolin.
il compilatore di chiusura di Google utilizza un JSDoc
sistema di documentazione che simultaneamente (se creato correttamente dal programmatore) fornisce documentazione e consente di rilevare molti errori in fase di compilazione.
mentre i nomi delle funzioni sono più dettagliati di quelli jQuery
, il compilatore riduce il codice (usando varie tattiche di ottimizzazione) e il controllo del tipo farà risparmiare un tempo considerevole durante il debug del codice, quindi il tempo digitando i nomi più lunghi non è probabilmente un problema. Allo stesso tempo, i nomi più lunghi aggiungono leggibilità.
libreria supporta i browser in esecuzione in modalità strane in modo che gli script possano essere incorporati da altri siti utilizzando HTML "eccentrico"
libreria funziona con (ma non dipende da) un sistema di template javascript chiamato soy
che semplifica il riempimento di documenti con contenuto.
come jQuery
google closure
consente di attraversare la struttura dom con le query basate su stringhe utilizzando un componente dedicato della libreria.
closure
la libreria si basa su spazi dei nomi delimitati da punti più simili a Java
: una funzionalità organizzativa molto forte.
l'utilizzo di tali spazi dei nomi comporterà un sovraccarico nel codice non compilato, ma nel codice compilato tali elementi vengono sostituiti con nomi di variabili brevi.
like jQuery google closure allows traversing dom structure with the string-based queries using a dedicated component of the library.
Può per favore collegarmi ad alcuni documenti ad esso correlati?
goog.dom.DomHelper
, ma personalmente non vedo una funzione di query equivalente a jQuery. @Evgeny: puoi darci maggiori dettagli?
Ho appena pubblicato un articolo piuttosto esauriente su Google Closure che risponde a questa domanda su insideRIA .
... Chiusura rulez! ^ _ ^
Forse non ricevo jQuery, ma non ho visto una vera raccolta di widget dell'interfaccia utente lì (ci sono plugin, sì, ma non sai mai quanto siano ben testati e spesso non c'è un vincitore chiaro e / o manca il plugin documentazione).
La chiusura ha, tra le altre cose, una raccolta di widget (vedi la scheda demo), inclusi, per esempio, pulsanti senza immagini usati in Gmail.
Più in generale, ha più funzionalità implementate come parte della versione. Potrebbe non essere una grande cosa, ma mi infastidisco con il mare di plugin jQuery quando sto cercando qualcosa di semplice come un modulo di cronologia Ajax o il completamento automatico.
Nel complesso è un'enorme libreria + set di strumenti e lo imparerò solo per sapere cosa è disponibile.
Apprezzo la maggior parte dei contributi di Google alla comunità open source e sono sicuro che abbia qualcosa di interessante, ma nel complesso trovo la chiusura ingombrante, sovraccarica e inelegante. Se devi trasformare tutto in Java, suppongo sia decisamente spiffy.
Modificare:
Giusto. Non ho davvero confrontato. La chiusura è come un gigantesco magazzino con tutti gli strumenti possibili che potresti desiderare di trovare ... da qualche parte. Un po 'come .NET o un'enorme libreria Java. Una volta trovato ciò di cui hai bisogno, puoi trovare cose altamente specifiche che svolgono lavori altamente specifici. E poi per la produzione è possibile rimuovere tutta l'innesto.
D'altra parte, JQuery è più un cacciavite sonico facilmente modificabile.
La Libreria di chiusura di Google ti consente di compilare e ottimizzare il tuo JavaScript. Non è una libreria come jQuery. jQuery è qualcosa che ti offre funzioni che ti permettono di scrivere il tuo javascript più velocemente.
Google Closure ti aiuterebbe a ridurre al minimo il tuo codice javascript per consentire una consegna più rapida su Internet.
Per farla breve, Google Closure è uno strumento mentre jQuery è una libreria simile a Prototype.