Nella sezione Domande e risposte di questo discorso , Douglas Crockford afferma che jQuery non si ridimensiona così come alcune altre librerie popolari. Che cosa intende con questo, e cosa c'è nelle altre librerie che le rende più scalabili?
Nella sezione Domande e risposte di questo discorso , Douglas Crockford afferma che jQuery non si ridimensiona così come alcune altre librerie popolari. Che cosa intende con questo, e cosa c'è nelle altre librerie che le rende più scalabili?
Risposte:
Se guardi il video, non parla formalmente di jQuery. È una risposta rapida a una domanda un po 'offtopica da parte di qualcuno dopo la presentazione .... alla fine della presentazione, circa minuto 1:29.
Dice molte cose positive di jQuery. La parte su questo non si adatta bene, dice che non pensa che jQuery si ridimensioni molto bene per applicazioni molto complicate (confrontandolo con altre cose come YUI). .
È difficile per me dire senza guardare il video, ma la mia ipotesi è che è perché jQuery non offre tutte le funzionalità della maggior parte delle altre librerie che rendono più facile la programmazione JavaScript. Lo scopo di jQuery è di semplificare la manipolazione del DOM semplificando l'indirizzamento degli elementi tramite selettori CSS e fornendo un framework semplice per alterare tali elementi. Offre alcune altre bellezze come richieste Ajax , gestione degli eventi di base, templating e alcune altre funzionalità rudimentali, ma questo è tutto.
Altre librerie come Prototype , MooTools , Ext JS e Dojo forniscono moltissime altre funzionalità per la creazione di oggetti, la gestione di array e raccolte, la manipolazione di stringhe e l'esecuzione di tutte le altre cose insignificanti che noi programmatori ci aspettiamo di poter fare.
In breve, a jQuery mancano gli strumenti desiderabili per le applicazioni JavaScript su larga scala. È abbastanza raro trovare siti pesanti molto JavaScript usando jQuery, proprio per questo motivo. Ad esempio, Mint.com è basato su YUI . Il servizio Web MobileMe di Apple funziona su SproutCore (il sito principale di Apple utilizza Prototype).
Almeno, questo è ciò che penso significhi.
jQuery non ti consente un sacco di riutilizzo come MooTools per esempio.
È una decisione di filosofia / design: jQuery non è un sacco di codice per gli scenari di incendio e dimenticanza.
Quando si creano esperienze JavaScript discrete (di solito solo miglioramenti della pagina), questo funziona molto bene e richiede pochissimo codice. Quando costruisci Google Docs ... non così tanto. Avrai bisogno di più concetti OOP che altri progetti espongono come eredità, meccanismi simili all'interfaccia, ecc ...